On Tue, 2 Feb 2016 12:41:30 +0100
Anton Khirnov <[email protected]> wrote:
> ---
> libavcodec/avcodec.h | 11 +++++++++++
> libavcodec/utils.c | 2 ++
> 2 files changed, 13 insertions(+)
>
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index fe3366b..cfd299d 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -2979,6 +2979,17 @@ typedef struct AVCodecContext {
> AVPacketSideData *coded_side_data;
> int nb_coded_side_data;
>
> + /**
> + * Encoding only.
> + *
> + * For hardware encoders configured to use a hwaccel pixel format, this
> + * field should be set by the caller to a reference to the
> AVHWFramesContext
> + * describing input frames.
> + *
> + * This field should be set before avcodec_open2() is called and is
> + * afterwards owned and managed by libavcodec.
> + */
> + AVBufferRef *hw_frames_ctx;
What happens if the pix_fmt disagrees with the context?
> } AVCodecContext;
>
> /**
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index e06ee66..327cad3 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -1639,6 +1639,8 @@ av_cold int avcodec_close(AVCodecContext *avctx)
> av_freep(&avctx->coded_side_data);
> avctx->nb_coded_side_data = 0;
>
> + av_buffer_unref(&avctx->hw_frames_ctx);
> +
> if (avctx->priv_data && avctx->codec && avctx->codec->priv_class)
> av_opt_free(avctx->priv_data);
> av_opt_free(avctx);
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel