summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shusharin <pmdvsh@gmail.com>2019-12-14 17:15:21 +0700
committerDmitry Shusharin <pmdvsh@gmail.com>2019-12-14 17:24:33 +0700
commit9d3b96e5f77d80442917fd95d4fe111c4b14e0e8 (patch)
treee30ebe75a16c0c20f6c5582476232d0076b69ce2
parent3cd445a490cc36eb8c64000cb384f78f9ab7e7af (diff)
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 c02ed5eb..84d81111 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 */
}
}