[FFmpeg-devel] [PATCH v4 06/14] avcodec: add decode_params callback to AVHWAccel struct

James Almer jamrial at gmail.com
Sat Nov 11 03:45:49 EET 2017


On 11/10/2017 6:40 PM, Aman Gupta wrote:
> From: Aman Gupta <aman at tmm1.net>
> 
> ---
>  libavcodec/avcodec.h | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index c4134424f0..2bd46faa50 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -3459,6 +3459,20 @@ typedef struct AVHWAccel {
>       */
>      int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
>  
> +    /**
> +     * Callback for parameter data (SPS/PPS/VPS etc).
> +     *
> +     * Useful for hardware decoders which keep persistent state about the
> +     * video parameters, and need to receive any changes to update that state.
> +     *
> +     * @param avctx the codec context
> +     * @param type the parameter type
> +     * @param buf the slice data buffer base
> +     * @param buf_size the size of the slice in bytes
> +     * @return zero if successful, a negative value otherwise
> +     */
> +    int (*decode_params)(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size);
> +
>      /**
>       * Callback for each slice.
>       *
> 

There's
https://git.libav.org/?p=libav.git;a=commitdiff;h=b46a77f19ddc4b2b5fa3187835ceb602a5244e24s
in the merge queue, and it would be great if we can make sure we're not
duplicating efforts or writing incompatible API for the same purpose.

Are these related, and can they coexist?


More information about the ffmpeg-devel mailing list