diff options
author | Mark Thompson <sw@jkqxz.net> | 2018-01-29 22:18:00 +0000 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2018-02-11 22:00:33 +0000 |
commit | 5b145290df2998a9836a93eb925289c6c8b63af0 (patch) | |
tree | d198e8d728ecdbcfc7eee78c22ac703538d48b29 /libavcodec/avcodec.h | |
parent | fd36cf6bf6524247a8ff6788c028836fe7d9fd20 (diff) |
lavc: Add support for increasing hardware frame pool sizes
AVCodecContext.extra_hw_frames is added to the size of hardware frame
pools created by libavcodec for APIs which require fixed-size pools.
This allows the user to keep references to a greater number of frames
after decode, which may be necessary for some use-cases.
It is also added to the initial_pool_size value returned by
avcodec_get_hw_frames_parameters() if a fixed-size pool is required.
Diffstat (limited to 'libavcodec/avcodec.h')
-rw-r--r-- | libavcodec/avcodec.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 7eaa0c9277..03a3d5bd6d 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2739,6 +2739,20 @@ typedef struct AVCodecContext { * AVCodecContext.get_format callback) */ int hwaccel_flags; + + /** + * Video decoding only. Sets the number of extra hardware frames which + * the decoder will allocate for use by the caller. This must be set + * before avcodec_open2() is called. + * + * Some hardware decoders require all frames that they will use for + * output to be defined in advance before decoding starts. For such + * decoders, the hardware frame pool must therefore be of a fixed size. + * The extra frames set here are on top of any number that the decoder + * needs internally in order to operate normally (for example, frames + * used as reference pictures). + */ + int extra_hw_frames; } AVCodecContext; /** |