From 9d3b96e5f77d80442917fd95d4fe111c4b14e0e8 Mon Sep 17 00:00:00 2001 From: Dmitry Shusharin Date: Sat, 14 Dec 2019 17:15:21 +0700 Subject: [PATCH] x264enc: corrected em_data value in CEA-708 CC SEI message (fixes #28) Section 4.4 of CEA-708-D specification (table 2) requires all bits to be set inside em_data field. h264parse element (and possible third-party decoders such as libav) also follows this requirement. https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/issues/28 --- ext/x264/gstx264enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c index c02ed5eb44..84d8111142 100644 --- a/ext/x264/gstx264enc.c +++ b/ext/x264/gstx264enc.c @@ -2342,7 +2342,7 @@ gst_x264_enc_add_cc (GstBuffer * buffer, x264_picture_t * pic_in) */ pic_in->extra_sei.payloads[i].payload[8] = ((cc_meta->size / 3) & 0x1f) | 0x40; - pic_in->extra_sei.payloads[i].payload[9] = 0; /* 8 bits em_data, unused */ + pic_in->extra_sei.payloads[i].payload[9] = 255; /* 8 bits em_data, unused */ pic_in->extra_sei.payloads[i].payload[cc_meta->size + 10] = 255; /* 8 marker bits */ } }