On 12/06/2013 05:23 PM, Tim Walker wrote:
> ---
> libavcodec/internal.h | 5 +++++
> libavcodec/utils.c | 16 ++++++++++++++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/libavcodec/internal.h b/libavcodec/internal.h
> index c1108ff..b9d626d 100644
> --- a/libavcodec/internal.h
> +++ b/libavcodec/internal.h
> @@ -179,4 +179,9 @@ const uint8_t *avpriv_find_start_code(const uint8_t
> *restrict p,
> */
> int ff_set_dimensions(AVCodecContext *s, int width, int height);
>
> +/**
> + * Add or update AV_FRAME_DATA_MATRIXENCODING side data.
> + */
> +void ff_side_data_update_matrix_encoding(AVFrame *frame, int
> matrix_encoding);
> +
> #endif /* AVCODEC_INTERNAL_H */
> diff --git a/libavcodec/utils.c b/libavcodec/utils.c
> index d21ca0e..7de3b91 100644
> --- a/libavcodec/utils.c
> +++ b/libavcodec/utils.c
> @@ -151,6 +151,22 @@ int ff_set_dimensions(AVCodecContext *s, int width, int
> height)
> return ret;
> }
>
> +void ff_side_data_update_matrix_encoding(AVFrame *frame, int matrix_encoding)
> +{
> + AVFrameSideData *side_data;
> + enum AVMatrixEncoding *data;
> +
> + side_data = av_frame_get_side_data(frame, AV_FRAME_DATA_MATRIXENCODING);
> + if (!side_data)
> + side_data = av_frame_new_side_data(frame,
> AV_FRAME_DATA_MATRIXENCODING,
> + sizeof(enum AVMatrixEncoding));
> +
> + if (side_data) {
> + data = (enum AVMatrixEncoding*)side_data->data;
> + *data = matrix_encoding;
> + }
> +}
> +
> #if HAVE_NEON || ARCH_PPC || HAVE_MMX
> # define STRIDE_ALIGN 16
> #else
This should return an error code, and if av_frame_new_side_data() fails,
return AVERROR(ENOMEM).
Also, squash with patch 02.
Thanks,
Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel