---
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
--
1.8.3.4 (Apple Git-47)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel