Commit 156bd827 authored by wm4's avatar wm4

lavc: Add hwaccel_flags field to AVCodecContext

This "reuses" the flags introduced for the av_vdpau_bind_context() API
function, and makes them available to all hwaccels. This does not affect
the current vdpau API, as av_vdpau_bind_context() should obviously
override the AVCodecContext.hwaccel_flags flags for the sake of
compatibility.

Cherry-picked from Libav commit 16a163b5.
Reviewed-by: 's avatarMark Thompson <sw@jkqxz.net>
parent 30cadfe0
...@@ -15,6 +15,10 @@ libavutil: 2015-08-28 ...@@ -15,6 +15,10 @@ libavutil: 2015-08-28
API changes, most recent first: API changes, most recent first:
2017-03-xx - xxxxxxx - lavc 57.85.100 - avcodec.h
Add AVCodecContext.hwaccel_flags field. This will control some hwaccels at
a later point.
2017-03-21 - xxxxxxx - lavf 57.67.100 / 57.08.0 - avio.h 2017-03-21 - xxxxxxx - lavf 57.67.100 / 57.08.0 - avio.h
Add AVIO_SEEKABLE_TIME flag. Add AVIO_SEEKABLE_TIME flag.
......
...@@ -3620,6 +3620,15 @@ typedef struct AVCodecContext { ...@@ -3620,6 +3620,15 @@ typedef struct AVCodecContext {
* contexts used must be created on the same device. * contexts used must be created on the same device.
*/ */
AVBufferRef *hw_device_ctx; AVBufferRef *hw_device_ctx;
/**
* Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated
* decoding (if active).
* - encoding: unused
* - decoding: Set by user (either before avcodec_open2(), or in the
* AVCodecContext.get_format callback)
*/
int hwaccel_flags;
} AVCodecContext; } AVCodecContext;
AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx); AVRational av_codec_get_pkt_timebase (const AVCodecContext *avctx);
......
...@@ -275,6 +275,8 @@ FF_ENABLE_DEPRECATION_WARNINGS ...@@ -275,6 +275,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
} }
} }
dst->hwaccel_flags = src->hwaccel_flags;
} }
if (for_user) { if (for_user) {
......
...@@ -28,8 +28,8 @@ ...@@ -28,8 +28,8 @@
#include "libavutil/version.h" #include "libavutil/version.h"
#define LIBAVCODEC_VERSION_MAJOR 57 #define LIBAVCODEC_VERSION_MAJOR 57
#define LIBAVCODEC_VERSION_MINOR 83 #define LIBAVCODEC_VERSION_MINOR 85
#define LIBAVCODEC_VERSION_MICRO 102 #define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
LIBAVCODEC_VERSION_MINOR, \ LIBAVCODEC_VERSION_MINOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment