[FFmpeg-devel] [PATCH 1/3] avformat/matroskaenc: support writting Chroma Location elements
James Almer
jamrial at gmail.com
Sat Oct 15 18:40:54 EEST 2016
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavformat/matroskaenc.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index a48f5bb..d6557a1 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -829,6 +829,14 @@ static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre
par->color_range < AVCOL_RANGE_NB) {
put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOCOLORRANGE, par->color_range);
}
+ if (par->chroma_location != AVCHROMA_LOC_UNSPECIFIED &&
+ par->chroma_location <= AVCHROMA_LOC_TOP) {
+ int xpos, ypos;
+
+ avcodec_enum_to_chroma_pos(&xpos, &ypos, par->chroma_location);
+ put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOCOLORCHROMASITINGHORZ, (xpos >> 7) + 1);
+ put_ebml_uint(dyn_cp, MATROSKA_ID_VIDEOCOLORCHROMASITINGVERT, (ypos >> 7) + 1);
+ }
if (side_data_size == sizeof(AVMasteringDisplayMetadata)) {
ebml_master meta_element = start_ebml_master(
dyn_cp, MATROSKA_ID_VIDEOCOLORMASTERINGMETA, 0);
--
2.9.1
More information about the ffmpeg-devel
mailing list