Browse Source

avcodec: add AV_CODEC_ID_IVTV_VBI

IVTV, a Linux driver for TV tuners, and V4L2 utilize
a coding named after IVTV to carry sliced VBI data
in MPEG streams produced by tuner cards with
VBI capture capability and an MPEG-2 encoder SoC.

IVTV or V4L2 driver will transport the coded data into a
MPEG-PS private stream ("IVTV") that can be captured
from the card alongside the video/audio.

The data could include:
EIA-608, Teletext, WSS (PAL widescreen signaling),
or VPS (PAL VCR signaling).

Signed-off-by: Marth64 <marth64@proxyid.net>
Scott Theisen 11 months ago
parent
commit
9fb806fa57
4 changed files with 11 additions and 1 deletions
  1. 3 0
      doc/APIchanges
  2. 6 0
      libavcodec/codec_desc.c
  3. 1 0
      libavcodec/codec_id.h
  4. 1 1
      libavcodec/version.c

+ 3 - 0
doc/APIchanges

@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07
 
 
 API changes, most recent first:
 API changes, most recent first:
 
 
+2025-02-09 - xxxxxxxxxx - lavc 61.32.100 - codec_id.h
+  Add AV_CODEC_ID_IVTV_VBI.
+
 2025-01-25 - xxxxxxxxxx - lavu 59.56.100 - frame.h
 2025-01-25 - xxxxxxxxxx - lavu 59.56.100 - frame.h
   Add AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT.
   Add AV_SIDE_DATA_PROP_CHANNEL_DEPENDENT.
 
 

+ 6 - 0
libavcodec/codec_desc.c

@@ -3649,6 +3649,12 @@ static const AVCodecDescriptor codec_descriptors[] = {
         .long_name = NULL_IF_CONFIG_SMALL("ARIB STD-B24 caption"),
         .long_name = NULL_IF_CONFIG_SMALL("ARIB STD-B24 caption"),
         .profiles  = NULL_IF_CONFIG_SMALL(ff_arib_caption_profiles),
         .profiles  = NULL_IF_CONFIG_SMALL(ff_arib_caption_profiles),
     },
     },
+    {
+        .id        = AV_CODEC_ID_IVTV_VBI,
+        .type      = AVMEDIA_TYPE_SUBTITLE,
+        .name      = "ivtv_vbi",
+        .long_name = NULL_IF_CONFIG_SMALL("ivtv VBI captions"),
+    },
 
 
     /* other kind of codecs and pseudo-codecs */
     /* other kind of codecs and pseudo-codecs */
     {
     {

+ 1 - 0
libavcodec/codec_id.h

@@ -581,6 +581,7 @@ enum AVCodecID {
     AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
     AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
     AV_CODEC_ID_TTML,
     AV_CODEC_ID_TTML,
     AV_CODEC_ID_ARIB_CAPTION,
     AV_CODEC_ID_ARIB_CAPTION,
+    AV_CODEC_ID_IVTV_VBI,
 
 
     /* other specific kind of codecs (generally used for attachments) */
     /* other specific kind of codecs (generally used for attachments) */
     AV_CODEC_ID_FIRST_UNKNOWN = 0x18000,           ///< A dummy ID pointing at the start of various fake codecs.
     AV_CODEC_ID_FIRST_UNKNOWN = 0x18000,           ///< A dummy ID pointing at the start of various fake codecs.

+ 1 - 1
libavcodec/version.c

@@ -36,7 +36,7 @@ unsigned avcodec_version(void)
                   AV_CODEC_ID_ADPCM_XMD    == 69683 &&
                   AV_CODEC_ID_ADPCM_XMD    == 69683 &&
                   AV_CODEC_ID_CBD2_DPCM    == 81928 &&
                   AV_CODEC_ID_CBD2_DPCM    == 81928 &&
                   AV_CODEC_ID_QOA          == 86121 &&
                   AV_CODEC_ID_QOA          == 86121 &&
-                  AV_CODEC_ID_ARIB_CAPTION == 94233 &&
+                  AV_CODEC_ID_IVTV_VBI     == 94234 &&
                   AV_CODEC_ID_SMPTE_2038   == 98315,
                   AV_CODEC_ID_SMPTE_2038   == 98315,
                   "Don't insert new codec ids in the middle of a list");
                   "Don't insert new codec ids in the middle of a list");
     static_assert(LIBAVCODEC_VERSION_MICRO >= 100, "micro version starts at 100");
     static_assert(LIBAVCODEC_VERSION_MICRO >= 100, "micro version starts at 100");