diff options
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r-- | libavcodec/utils.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 1fa9cb88d2..d744bbacd2 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -151,6 +151,26 @@ int ff_set_dimensions(AVCodecContext *s, int width, int height) return ret; } +int ff_side_data_update_matrix_encoding(AVFrame *frame, + enum AVMatrixEncoding 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) + return AVERROR(ENOMEM); + + data = (enum AVMatrixEncoding*)side_data->data; + *data = matrix_encoding; + + return 0; +} + #if HAVE_NEON || ARCH_PPC || HAVE_MMX # define STRIDE_ALIGN 16 #else |