|
|
|
@ -935,7 +935,17 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type |
|
|
|
|
language[1] = get8(pp, desc_end); |
|
|
|
|
language[2] = get8(pp, desc_end); |
|
|
|
|
language[3] = 0; |
|
|
|
|
get8(pp, desc_end); |
|
|
|
|
/* hearing impaired subtitles detection */ |
|
|
|
|
switch(get8(pp, desc_end)) { |
|
|
|
|
case 0x20: /* DVB subtitles (for the hard of hearing) with no monitor aspect ratio criticality */ |
|
|
|
|
case 0x21: /* DVB subtitles (for the hard of hearing) for display on 4:3 aspect ratio monitor */ |
|
|
|
|
case 0x22: /* DVB subtitles (for the hard of hearing) for display on 16:9 aspect ratio monitor */ |
|
|
|
|
case 0x23: /* DVB subtitles (for the hard of hearing) for display on 2.21:1 aspect ratio monitor */ |
|
|
|
|
case 0x24: /* DVB subtitles (for the hard of hearing) for display on a high definition monitor */ |
|
|
|
|
case 0x25: /* DVB subtitles (for the hard of hearing) with plano-stereoscopic disparity for display on a high definition monitor */ |
|
|
|
|
st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
if (st->codec->extradata) { |
|
|
|
|
if (st->codec->extradata_size == 4 && memcmp(st->codec->extradata, *pp, 4)) |
|
|
|
|
av_log_ask_for_sample(fc, "DVB sub with multiple IDs\n"); |
|
|
|
|