Message ID | 20170217214115.99553-1-josh@itanimul.li |
---|---|
State | New |
Headers | show |
On Fri, 17 Feb 2017, Josh de Kock wrote: > Signed-off-by: Josh de Kock <josh@itanimul.li> > --- > libavformat/mpegts.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c > index 590abb0..bcf2118 100644 > --- a/libavformat/mpegts.c > +++ b/libavformat/mpegts.c > @@ -1718,6 +1718,11 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type > case 0x56: /* DVB teletext descriptor */ > { > uint8_t *extradata = NULL; > + /* 5 bytes per DVB teletext substream data: > + * ISO_639_language_code (3 bytes), > + * teletext_type (5 bits), > + * teletext_magazine_number (3 bits), > + * teletext_page_number (1 byte) */ ok. > int language_count = desc_len / 5; > > if (desc_len > 0 && desc_len % 5 != 0) > @@ -1745,6 +1750,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type > language[i * 4 + 3] = ','; > > memcpy(extradata, *pp, 2); > + /* The page number which libzvbi will output is extradata[0] & 7 * 256 + extradata[1] */ I am not sure this is useful, because it is irrelevant here, also not entirely true, e.g. magazine 0 means 8xx page. > extradata += 2; > > *pp += 2; Regards, Marton
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 590abb0..bcf2118 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1718,6 +1718,11 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type case 0x56: /* DVB teletext descriptor */ { uint8_t *extradata = NULL; + /* 5 bytes per DVB teletext substream data: + * ISO_639_language_code (3 bytes), + * teletext_type (5 bits), + * teletext_magazine_number (3 bits), + * teletext_page_number (1 byte) */ int language_count = desc_len / 5; if (desc_len > 0 && desc_len % 5 != 0) @@ -1745,6 +1750,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type language[i * 4 + 3] = ','; memcpy(extradata, *pp, 2); + /* The page number which libzvbi will output is extradata[0] & 7 * 256 + extradata[1] */ extradata += 2; *pp += 2;
Signed-off-by: Josh de Kock <josh@itanimul.li> --- libavformat/mpegts.c | 6 ++++++ 1 file changed, 6 insertions(+)