diff options
author | Anton Khirnov <anton@khirnov.net> | 2017-10-13 18:59:19 +0200 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2017-11-10 19:48:09 +0100 |
commit | 81c021c6a2d7848c31984d65f225ba54bdd6f560 (patch) | |
tree | ea25e26b76fcadc8ff558ee1be3e2a0dc1cde7c0 /libavcodec | |
parent | 7fa64514c8d2ec4d3dcb5f194511609ddcc288e6 (diff) | |
download | ffmpeg-81c021c6a2d7848c31984d65f225ba54bdd6f560.tar.gz |
decode: add a per-frame private data for hwaccel use
This will be useful in the CUVID hwaccel. It should also eventually
replace current decoder-specific mechanisms used by various other
hwaccels.
Merges Libav commit 704311b2946d74a80f65906961cd9baaa18683a3.
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/decode.c | 3 | ||||
-rw-r--r-- | libavcodec/decode.h | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 8b03f61a22..44b874d4f8 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -1581,6 +1581,9 @@ static void decode_data_free(void *opaque, uint8_t *data) if (fdd->post_process_opaque_free) fdd->post_process_opaque_free(fdd->post_process_opaque); + if (fdd->hwaccel_priv_free) + fdd->hwaccel_priv_free(fdd->hwaccel_priv); + av_freep(&fdd); } diff --git a/libavcodec/decode.h b/libavcodec/decode.h index 51947b9ec0..03fc783bba 100644 --- a/libavcodec/decode.h +++ b/libavcodec/decode.h @@ -44,6 +44,12 @@ typedef struct FrameDecodeData { int (*post_process)(void *logctx, AVFrame *frame); void *post_process_opaque; void (*post_process_opaque_free)(void *opaque); + + /** + * Per-frame private data for hwaccels. + */ + void *hwaccel_priv; + void (*hwaccel_priv_free)(void *priv); } FrameDecodeData; /** |