Changeset 40e3fb152965c0dd7efe4e381959b692ead65fe4
- Timestamp:
- 27/01/07 22:22:13
(2 years ago)
- Author:
- Antoine Cellerier <dionoea@videolan.org>
- git-committer:
- Antoine Cellerier <dionoea@videolan.org> 1169932933 +0000
- git-parent:
[dc0f2c1d30fc3a80ad620e23a1adc6f1f2e0d71c]
- git-author:
- Antoine Cellerier <dionoea@videolan.org> 1169932933 +0000
- Message:
- add stream assignements for DTS(-HD) / (E-)AC3 / MLP / VC1 used by HD DVDs.
- the dts/ac3 changes fix some files from http://samples.mplayerhq.hu/evob/ and some other sources.
- MLP doesn't have any know free decoder (nor do i have any sample) so this is basically "for the future"
- VC1 doesn't work ... most likely needs some more changes to the code.
- remove trailing spaces
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| rd3fe7f2 |
r40e3fb1 |
|
| 67 | 67 | if( ( i_id&0xff00 ) == 0xbd00 ) |
|---|
| 68 | 68 | { |
|---|
| 69 | | if( ( i_id&0xf8 ) == 0x88 ) |
|---|
| | 69 | if( ( i_id&0xf8 ) == 0x88 || (i_id&0xf8) == 0x98 ) |
|---|
| 70 | 70 | { |
|---|
| 71 | 71 | es_format_Init( &tk->fmt, AUDIO_ES, VLC_FOURCC('d','t','s',' ') ); |
|---|
| 72 | 72 | tk->i_skip = 4; |
|---|
| 73 | 73 | } |
|---|
| 74 | | else if( ( i_id&0xf0 ) == 0x80 ) |
|---|
| | 74 | else if( ( i_id&0xf0 ) == 0x80 |
|---|
| | 75 | || (i_id&0xf0) == 0xc0 ) /* AC-3, Can also be used for DD+/E-AC-3 */ |
|---|
| 75 | 76 | { |
|---|
| 76 | 77 | es_format_Init( &tk->fmt, AUDIO_ES, VLC_FOURCC('a','5','2',' ') ); |
|---|
| 77 | 78 | tk->i_skip = 4; |
|---|
| 78 | 79 | } |
|---|
| | 80 | else if( (i_id&0xf0) == 0xb0 ) |
|---|
| | 81 | { |
|---|
| | 82 | es_format_Init( &tk->fmt, AUDIO_ES, VLC_FOURCC('m','l','p',' ') ); |
|---|
| | 83 | /* FIXME / untested ... no known decoder (at least not in VLC/ffmpeg) */ |
|---|
| | 84 | } |
|---|
| 79 | 85 | else if( ( i_id&0xe0 ) == 0x20 ) |
|---|
| 80 | 86 | { |
|---|
| … | … | |
| 94 | 100 | { |
|---|
| 95 | 101 | es_format_Init( &tk->fmt, SPU_ES, VLC_FOURCC('c','v','d',' ') ); |
|---|
| | 102 | } |
|---|
| | 103 | else |
|---|
| | 104 | { |
|---|
| | 105 | es_format_Init( &tk->fmt, UNKNOWN_ES, 0 ); |
|---|
| | 106 | return VLC_EGENERIC; |
|---|
| | 107 | } |
|---|
| | 108 | } |
|---|
| | 109 | else if( (i_id&0xff00) == 0xfd00 ) |
|---|
| | 110 | { |
|---|
| | 111 | if( i_id>=0x55 && i_id<=0x5f ) |
|---|
| | 112 | { |
|---|
| | 113 | es_format_Init( &tk->fmt, VIDEO_ES, VLC_FOURCC('v','c','1',' ') ); |
|---|
| 96 | 114 | } |
|---|
| 97 | 115 | else |
|---|
| … | … | |
| 392 | 410 | for( i = 0; p_psm && i < p_psm->i_es; i++ ) |
|---|
| 393 | 411 | { |
|---|
| 394 | | if( p_psm->es[i]->i_id == i_id ) return p_psm->es[i]->i_type; |
|---|
| | 412 | if( p_psm->es[i]->i_id == i_id ) return p_psm->es[i]->i_type; |
|---|
| 395 | 413 | } |
|---|
| 396 | 414 | return 0; |
|---|
| … | … | |
| 402 | 420 | for( i = 0; p_psm && i < p_psm->i_es; i++ ) |
|---|
| 403 | 421 | { |
|---|
| 404 | | if( p_psm->es[i]->i_id == i_id ) return p_psm->es[i]->lang; |
|---|
| | 422 | if( p_psm->es[i]->i_id == i_id ) return p_psm->es[i]->lang; |
|---|
| 405 | 423 | } |
|---|
| 406 | 424 | return 0; |
|---|
| … | … | |
| 498 | 516 | p_psm->es[p_psm->i_es] = malloc( sizeof(ps_es_t) ); |
|---|
| 499 | 517 | *p_psm->es[p_psm->i_es++] = es; |
|---|
| 500 | | i_es_base += 4 + i_info_length; |
|---|
| | 518 | i_es_base += 4 + i_info_length; |
|---|
| 501 | 519 | } |
|---|
| 502 | 520 | |
|---|