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

Måns Rullgård mans
Mon Feb 14 19:17:18 CET 2011


Anssi Hannula <anssi.hannula at iki.fi> writes:

> 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).

Then I suppose it makes sense if our flags are also able to make that
distinction.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list