gstreamer/subprojects/gst-plugins-bad/ext
Mathieu Duponchelle 2eab37f231 ccconverter: implement field conversion of CEA 608 control codes
As specified in EIA/CEA-608-B section 8.4:

When closed captioning is used on line 21, field 2, it shall conform
to all of the applicable specifications and recommended practices as
defined for field 1 services with the following differences:

a) The non-printing character of the miscellaneous control-character pairs
  that fall in the range of 14h, 20h to 14h, 2Fh in field 1, shall be replaced
  with 15h, 20h to 15h, 2Fh when used in field 2.
b) The non-printing character of the miscellaneous control-character pairs
  that fall in the range of 1Ch, 20h to 1Ch, 2Fh in field 1, shall be replaced
  with 1Dh, 20h to 1Dh, 2Fh when used in field 2.

This means simply switching the "field" field in the caps isn't enough for
converting raw 608 from one field to another, some control codes also
need to be amended.

+ Adds simple test

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4126>
2023-03-08 10:13:59 +00:00
..
aes aesdec: Fix padding removal for per-buffer-padding=FALSE 2022-11-15 00:13:15 +11:00
aom aom: Include stream-format and alignment in the AV1 caps 2023-02-01 19:04:32 +00:00
assrender meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
avtp avtp: specify the required version of libavtp 2023-02-06 13:31:51 +00:00
bs2b meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
bz2 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
chromaprint meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
closedcaption ccconverter: implement field conversion of CEA 608 control codes 2023-03-08 10:13:59 +00:00
codec2json codec2json: Add av12json element 2023-01-30 19:46:55 +00:00
colormanagement meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
curl curlhttpsrc: Add curl anyauth option 2023-02-24 14:32:18 +00:00
dash mpdparser: Fix missing baseURL query 2022-11-14 23:45:53 +00:00
dc1394 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
directfb dfbvideosink: Fix compile error 2023-01-08 03:49:03 +00:00
dtls meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
dts meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
faac meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
faad meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
fdkaac fdkaacenc: Properly terminate GEnumValue table 2022-11-04 17:59:21 +00:00
flite meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
fluidsynth fluidsynth: correctly version guard methods 2022-09-05 17:48:27 +00:00
gme meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
gs gssink: add 'content-type' property 2022-11-10 09:53:29 +00:00
gsm meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
gtk meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
hls hlsdemux: Expose EXT-X-PROGRAM-DATE-TIME as tags. 2022-11-17 22:11:12 +00:00
iqa meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
isac meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
kate kate: drop use of GSlice 2023-01-24 15:25:07 +00:00
ladspa ladspa: Don't leak plugin information on registration 2022-11-04 17:59:21 +00:00
ldac meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
libde265 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
lv2 lv2: Don't leak plugin information on registration 2022-11-04 17:59:21 +00:00
mdns meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
modplug meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
mpeg2enc meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
mplex meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
musepack meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
neon meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
onnx onnx: Update to OnnxRT >= 1.13.1 API 2022-11-22 22:36:34 +00:00
openal meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openaptx meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
opencv meson: Accept latest version of opencv 4.x 2022-12-30 17:10:12 +00:00
openexr meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openh264 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openjpeg openjpeg: drop use of GSlice 2023-01-24 15:25:07 +00:00
openmpt meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
openni2 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
opus meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
qroverlay qroverlay: Fix documentation 2023-03-02 18:39:40 +00:00
resindvd resindvd: drop use of GSlice 2023-01-24 15:25:07 +00:00
rsvg meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
rtmp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
sbc meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
sctp sctpdec: fix stream reset (src pad removal) if no data is ever received 2022-11-11 10:13:27 +00:00
smoothstreaming meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
sndfile meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
soundtouch meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
spandsp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
srt srt: Use g_cancellable_get_fd for poll cancellation 2023-03-02 15:39:25 +00:00
srtp meson: Add a wrap file for libsrt2p 2023-01-25 11:38:52 +00:00
svtav1 svtav1enc: Drain and completely reallocate the encoder instance on caps changes 2023-02-14 11:59:48 +00:00
svthevcenc svthevcenc: drop use of GSlice 2023-01-24 15:25:07 +00:00
teletextdec meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
ttml ttml: drop use of GSlice 2023-01-24 15:25:07 +00:00
voaacenc meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
voamrwbenc voamrwbenc: Fix truncation of audio data at end-of-stream when audio data 2022-09-16 00:14:58 +00:00
vulkan meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
wayland meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
webp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
webrtc webrtcbin: Relay add-ice-candidate errors from Ice implementation to Application 2023-02-27 09:09:47 +00:00
webrtcdsp meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
wildmidi meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
wpe wpe: Post console messages as element messages 2023-02-28 13:43:23 +00:00
x265 x265: drop use of GSlice 2023-01-24 15:25:07 +00:00
zbar meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
zxing zxing: update to 1.4.0 tag 2022-12-11 15:52:08 +00:00
meson.build svtav1: Integrate into the build system properly 2023-02-03 22:14:18 +02:00