summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shusharin <pmdvsh@gmail.com>2019-12-14 17:15:21 +0700
committerTim-Philipp Müller <tim@centricular.com>2019-12-16 10:20:03 +0000
commita76c19a3c9f0736087b67fdca44902708c1c083a (patch)
tree3e6db9d24000ba4ede5b521562133d8657e8142f
parent4b2943ee2788331e4000f0f7e226cd5ce2c135a4 (diff)
downloadgstreamer-plugins-ugly-a76c19a3c9f0736087b67fdca44902708c1c083a.tar.gz
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
-rw-r--r--ext/x264/gstx264enc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c
index f313b211..ee275dc8 100644
--- a/ext/x264/gstx264enc.c
+++ b/ext/x264/gstx264enc.c
@@ -2413,7 +2413,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 */
}
}