This is based on the component_type definition in the DVB SI spec [1].
[1]: http://www.dvb.org/technology/standards/a038_DVB-SI_dEN300468v1.12.1.pdf
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 789936dbbda60990220b80769ed75702775ea0b2)
| ... | ... |
@@ -935,7 +935,17 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type |
| 935 | 935 |
language[1] = get8(pp, desc_end); |
| 936 | 936 |
language[2] = get8(pp, desc_end); |
| 937 | 937 |
language[3] = 0; |
| 938 |
- get8(pp, desc_end); |
|
| 938 |
+ /* hearing impaired subtitles detection */ |
|
| 939 |
+ switch(get8(pp, desc_end)) {
|
|
| 940 |
+ case 0x20: /* DVB subtitles (for the hard of hearing) with no monitor aspect ratio criticality */ |
|
| 941 |
+ case 0x21: /* DVB subtitles (for the hard of hearing) for display on 4:3 aspect ratio monitor */ |
|
| 942 |
+ case 0x22: /* DVB subtitles (for the hard of hearing) for display on 16:9 aspect ratio monitor */ |
|
| 943 |
+ case 0x23: /* DVB subtitles (for the hard of hearing) for display on 2.21:1 aspect ratio monitor */ |
|
| 944 |
+ case 0x24: /* DVB subtitles (for the hard of hearing) for display on a high definition monitor */ |
|
| 945 |
+ case 0x25: /* DVB subtitles (for the hard of hearing) with plano-stereoscopic disparity for display on a high definition monitor */ |
|
| 946 |
+ st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED; |
|
| 947 |
+ break; |
|
| 948 |
+ } |
|
| 939 | 949 |
if (st->codec->extradata) {
|
| 940 | 950 |
if (st->codec->extradata_size == 4 && memcmp(st->codec->extradata, *pp, 4)) |
| 941 | 951 |
av_log_ask_for_sample(fc, "DVB sub with multiple IDs\n"); |