[FFmpeg-devel] [PATCH 1/4] mpegts: set st->disposition according to ISO 639 language descriptor

Anssi Hannula anssi.hannula
Mon Feb 14 19:02:03 CET 2011


On 13.02.2011 14:41, M?ns Rullg?rd wrote:
> Anssi Hannula <anssi.hannula at iki.fi> writes:
> 
>> On 13.02.2011 00:53, M?ns Rullg?rd wrote:
>>> Anssi Hannula <anssi.hannula at iki.fi> writes:
>>>
>>>> The descriptor is defined in ISO/IEC 13818-1.
>>>> ---
>>>>  libavformat/mpegts.c |    6 ++++++
>>>>  1 files changed, 6 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
>>>> index e8d82ac..0e2f71c 100644
>>>> --- a/libavformat/mpegts.c
>>>> +++ b/libavformat/mpegts.c
>>>> @@ -954,6 +954,12 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
>>>>          language[2] = get8(pp, desc_end);
>>>>          language[3] = 0;
>>>>          av_metadata_set2(&st->metadata, "language", language, 0);
>>>> +        switch (get8(pp, desc_end)) {
>>>> +            case 0x01: st->disposition |= AV_DISPOSITION_KARAOKE; break;
>>>
>>> The MPEG-TS spec for this value says
>>>
>>>   clean effects -- This field indicates that the referenced program
>>>   element has no language.
>>>
>>> I don't know what AV_DISPOSITION_KARAOKE is meant to imply, but to me
>>> karaoke implies music intended for sing-along, not just sound that
>>> happens to contain no spoken words.
>>
>> OK. Shall I add a patch which adds AV_DISPOSITION_CLEAN_EFFECTS, then,
>> or simply ignore this one until we see a real sample?
> 
> Does a similar concept exist in other specs?

I've no idea. I checked mkv and ogg, though, and saw nothing.

It occurs on the codec level at least in AC-3, though (Bitstream mode
0x1, "music and effects"), and there it is distinguished from "karaoke"
(bitstream mode 0x7 when non-mono).

-- 
Anssi Hannula



More information about the ffmpeg-devel mailing list