[FFmpeg-devel] [PATCH v2] mpegts: demux BluRay text subtitles

Paul B Mahol onemda at gmail.com
Tue Sep 1 13:41:03 CEST 2015


On 9/1/15, Petri Hintukainen <phintuka at gmail.com> wrote:
> On ti, 2015-09-01 at 09:06 +0000, Paul B Mahol wrote:
>> On 9/1/15, Petri Hintukainen <phintuka at gmail.com> wrote:
>> > ---
>> >  libavcodec/avcodec.h    | 1 +
>> >  libavcodec/codec_desc.c | 7 +++++++
>> >  libavformat/mpegts.c    | 1 +
>> >  3 files changed, 9 insertions(+)
>> >
>> > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
>> > index 12a6b54..9d38b59 100644
>> > --- a/libavcodec/avcodec.h
>> > +++ b/libavcodec/avcodec.h
>> > @@ -530,6 +530,7 @@ enum AVCodecID {
>> >      AV_CODEC_ID_VPLAYER    = MKBETAG('V','P','l','r'),
>> >      AV_CODEC_ID_PJS        = MKBETAG('P','h','J','S'),
>> >      AV_CODEC_ID_ASS        = MKBETAG('A','S','S',' '),  ///< ASS as
>> > defined
>> > in Matroska
>> > +    AV_CODEC_ID_HDMV_TEXT_SUBTITLE = MKBETAG('B','D','T','X'),
>> >
>> >      /* 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.
>> > diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
>> > index c172bf8..487bc2f 100644
>> > --- a/libavcodec/codec_desc.c
>> > +++ b/libavcodec/codec_desc.c
>> > @@ -2735,6 +2735,13 @@ static const AVCodecDescriptor
>> > codec_descriptors[] =
>> > {
>> >          .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"),
>> >          .props     = AV_CODEC_PROP_TEXT_SUB,
>> >      },
>> > +    {
>> > +        .id        = AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
>>
>> Why it must have _SUBTITLE ? Its kind of redundant.
>
> The other BluRay subtitle codec is AV_CODEC_ID_HDMV_PGS_SUBTITLE.

Ah, I did not know about that one, name is fine than.

>
> How about AV_CODEC_ID_HDMV_TEXTST ? AV_CODEC_ID_HDMV_TEXT sounds bit too
> generic.
>
>> > +        .type      = AVMEDIA_TYPE_SUBTITLE,
>> > +        .name      = "hdmv_text_subtitle",
>> > +        .long_name = NULL_IF_CONFIG_SMALL("HDMV Text subtitle"),
>> > +        .props     = AV_CODEC_PROP_TEXT_SUB,
>> > +    },
>> >
>> >      /* other kind of codecs and pseudo-codecs */
>> >      {
>> > diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
>> > index 625d473..bc5c4fe 100644
>> > --- a/libavformat/mpegts.c
>> > +++ b/libavformat/mpegts.c
>> > @@ -718,6 +718,7 @@ static const StreamType HDMV_types[] = {
>> >      { 0xa1, AVMEDIA_TYPE_AUDIO,    AV_CODEC_ID_EAC3              }, /*
>> > E-AC3 Secondary Audio */
>> >      { 0xa2, AVMEDIA_TYPE_AUDIO,    AV_CODEC_ID_DTS               }, /*
>> > DTS
>> > Express Secondary Audio */
>> >      { 0x90, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_HDMV_PGS_SUBTITLE },
>> > +    { 0x92, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_HDMV_TEXT_SUBTITLE },
>> >      { 0 },
>> >  };
>> >
>> > --
>> > 2.1.4
>> >
>> > _______________________________________________
>> > ffmpeg-devel mailing list
>> > ffmpeg-devel at ffmpeg.org
>> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> >
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list