Changeset 40e3fb152965c0dd7efe4e381959b692ead65fe4

Show
Ignore:
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
  • modules/demux/ps.h

    rd3fe7f2 r40e3fb1  
    6767    if( ( i_id&0xff00 ) == 0xbd00 ) 
    6868    { 
    69         if( ( i_id&0xf8 ) == 0x88
     69        if( ( i_id&0xf8 ) == 0x88 || (i_id&0xf8) == 0x98
    7070        { 
    7171            es_format_Init( &tk->fmt, AUDIO_ES, VLC_FOURCC('d','t','s',' ') ); 
    7272            tk->i_skip = 4; 
    7373        } 
    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 */ 
    7576        { 
    7677            es_format_Init( &tk->fmt, AUDIO_ES, VLC_FOURCC('a','5','2',' ') ); 
    7778            tk->i_skip = 4; 
    7879        } 
     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        } 
    7985        else if( ( i_id&0xe0 ) == 0x20 ) 
    8086        { 
     
    94100        { 
    95101            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',' ') ); 
    96114        } 
    97115        else 
     
    392410    for( i = 0; p_psm && i < p_psm->i_es; i++ ) 
    393411    { 
    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; 
    395413    } 
    396414    return 0; 
     
    402420    for( i = 0; p_psm && i < p_psm->i_es; i++ ) 
    403421    { 
    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; 
    405423    } 
    406424    return 0; 
     
    498516        p_psm->es[p_psm->i_es] = malloc( sizeof(ps_es_t) ); 
    499517        *p_psm->es[p_psm->i_es++] = es; 
    500         i_es_base += 4 + i_info_length;  
     518        i_es_base += 4 + i_info_length; 
    501519    } 
    502520