diff options
author | Mark Thompson <sw@jkqxz.net> | 2017-03-04 23:57:28 +0000 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2017-03-20 23:15:43 +0000 |
commit | b266ad56fe0e4ce5bb70118ba2e2b1dabfaf76ce (patch) | |
tree | 9ffc32c7d86e1c40ea8c4c343a8339b7d6387b48 /libavutil/hwcontext_internal.h | |
parent | b864230c49089b087eef56988a3d6a784f6f9827 (diff) | |
download | ffmpeg-b266ad56fe0e4ce5bb70118ba2e2b1dabfaf76ce.tar.gz |
hwcontext: Add device derivation
Creates a new device context from another of a different type which
refers to the same underlying hardware.
Diffstat (limited to 'libavutil/hwcontext_internal.h')
-rw-r--r-- | libavutil/hwcontext_internal.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavutil/hwcontext_internal.h b/libavutil/hwcontext_internal.h index 11e3a68e4c..66f54142e8 100644 --- a/libavutil/hwcontext_internal.h +++ b/libavutil/hwcontext_internal.h @@ -66,6 +66,8 @@ typedef struct HWContextType { int (*device_create)(AVHWDeviceContext *ctx, const char *device, AVDictionary *opts, int flags); + int (*device_derive)(AVHWDeviceContext *dst_ctx, + AVHWDeviceContext *src_ctx, int flags); int (*device_init)(AVHWDeviceContext *ctx); void (*device_uninit)(AVHWDeviceContext *ctx); @@ -95,6 +97,12 @@ typedef struct HWContextType { struct AVHWDeviceInternal { const HWContextType *hw_type; void *priv; + + /** + * For a derived device, a reference to the original device + * context it was derived from. + */ + AVBufferRef *source_device; }; struct AVHWFramesInternal { |