Matthew Waters
ba1558a7ab
ccconverter: use a better padding byte sequence for writing cdp
...
0xf8 can be interpreted as cea608 data at the beginning of a cdp packet
as the cc_valid bit is not checked when cc_valid in (0b00 or 0b01).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
7ed0bc539f
ccconverter: split temporary storage into 3
...
Instead of storing the raw cc_data, store the 2 cea608 fields individually
as well as the ccp data.
Simply copying the input cc_data to the output cc_data violates a number of
requirements in the cea708 specification. The most prominent being, that
cea608 triples must be placed at the beginning of each cdp.
We also need to comply with the framerate-dpendent limits for both the
cea608 and the ccp data which may involve splitting or merging some
cea608 data but not ccp data or vice versa.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
3417a1709c
ccconvert: compact input cc_data where possible
...
Skip over padding cc_data triples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
7d028af675
ccconverter: implement support for CDP framerate conversions
...
- Any format involving CDP is supported.
- Time codes (if present) are scaled as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
ddc7563ac9
tests/ccconverter: test the time codes are successfully passed through
...
Where time codes are not stored in the caption data themselves
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
31a0bf367d
ccconverter: cc_count limits are per framerate
...
Enforce this and add a test for cdp input being too large.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Sebastian Dröge
0478e2dc1a
ccconverter: Fill remainder of the cc_data in CDP packets with empty packets
...
Instead of filling it completely with zeroes. Filling with zeroes is
considered invalid by various CC implementations.
2020-01-24 09:26:28 +00:00
Sebastian Dröge
f6b4e24f72
ccconverter: Instead of erroring out on too big input drop additional data
2019-11-04 13:43:25 +00:00
Sebastian Dröge
fcceb37bf2
ccconverter: Add unit test
2018-12-19 00:20:26 +02:00