Changeset e4fc7e4e892f1ecbf94b1f8b0d73e14ad5df20c6

Show
Ignore:
Timestamp:
19/01/03 09:27:28 (6 years ago)
Author:
Laurent Aimar <fenrir@videolan.org>
git-committer:
Laurent Aimar <fenrir@videolan.org> 1042964848 +0000
git-parent:

[0e93bc69fdab72b6968c6460423b3688b8f5183d]

git-author:
Laurent Aimar <fenrir@videolan.org> 1042964848 +0000
Message:
  • all: change the way fourcc are stored in bitmapinfoheader.
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/packetizer/copy.c

    r1c33260 re4fc7e4  
    33 ***************************************************************************** 
    44 * Copyright (C) 2001, 2002 VideoLAN 
    5  * $Id: copy.c,v 1.2 2003/01/08 10:26:49 fenrir Exp $ 
     5 * $Id: copy.c,v 1.3 2003/01/19 08:27:28 fenrir Exp $ 
    66 * 
    77 * Authors: Laurent Aimar <fenrir@via.ecp.fr> 
     
    3535#include <string.h>                                              /* strdup() */ 
    3636 
     37#include "codecs.h" 
    3738/***************************************************************************** 
    3839 * Local prototypes 
     
    6768vlc_module_begin(); 
    6869    set_description( _("Copy packetizer") ); 
    69     set_capability( "packetizer", 0 ); 
     70    set_capability( "packetizer", 1 ); 
    7071    set_callbacks( Open, NULL ); 
    7172vlc_module_end(); 
     
    8586 
    8687    return VLC_SUCCESS; 
    87  
    88 #if 0 
    89     if( p_fifo->i_fourcc == VLC_FOURCC( 'm', 'p', 'g', 'a') ) 
    90         .... 
    91 #endif 
    9288} 
    9389 
     
    149145    switch( p_pack->p_fifo->i_fourcc ) 
    150146    { 
     147        case VLC_FOURCC( 'm', '4', 's', '2'): 
     148        case VLC_FOURCC( 'M', '4', 'S', '2'): 
     149        case VLC_FOURCC( 'm', 'p', '4', 's'): 
     150        case VLC_FOURCC( 'M', 'P', '4', 'S'): 
    151151        case VLC_FOURCC( 'm', 'p', '4', 'v'): 
    152152        case VLC_FOURCC( 'D', 'I', 'V', 'X'): 
     
    156156        case VLC_FOURCC( 'x', 'v', 'i', 'd'): 
    157157        case VLC_FOURCC( 'D', 'X', '5', '0'): 
     158        case VLC_FOURCC( 0x04, 0,   0,   0): 
     159        case VLC_FOURCC( '3', 'I', 'V', '2'): 
    158160            p_pack->output_format.i_fourcc = VLC_FOURCC( 'm', 'p', '4', 'v'); 
    159161            p_pack->output_format.i_cat = VIDEO_ES; 
     
    162164        case VLC_FOURCC( 'm', 'p', 'g', '1' ): 
    163165        case VLC_FOURCC( 'm', 'p', 'g', '2' ): 
     166        case VLC_FOURCC( 'm', 'p', '1', 'v' ): 
     167        case VLC_FOURCC( 'm', 'p', '2', 'v' ): 
    164168            p_pack->output_format.i_fourcc = VLC_FOURCC( 'm', 'p', 'g', 'v' ); 
    165169            p_pack->output_format.i_cat = VIDEO_ES; 
     
    169173            p_pack->output_format.i_cat = AUDIO_ES; 
    170174            break; 
     175 
     176        case VLC_FOURCC( 'd', 'i', 'v', '1' ): 
     177        case VLC_FOURCC( 'D', 'I', 'V', '1' ): 
     178        case VLC_FOURCC( 'M', 'P', 'G', '4' ): 
     179        case VLC_FOURCC( 'm', 'p', 'g', '4' ): 
     180            p_pack->output_format.i_fourcc = VLC_FOURCC( 'D', 'I', 'V', '1' ); 
     181            p_pack->output_format.i_cat = VIDEO_ES; 
     182            break; 
     183        case VLC_FOURCC( 'd', 'i', 'v', '2' ): 
     184        case VLC_FOURCC( 'D', 'I', 'V', '2' ): 
     185        case VLC_FOURCC( 'M', 'P', '4', '2' ): 
     186        case VLC_FOURCC( 'm', 'p', '4', '2' ): 
     187            p_pack->output_format.i_fourcc = VLC_FOURCC( 'D', 'I', 'V', '2' ); 
     188            p_pack->output_format.i_cat = VIDEO_ES; 
     189            break; 
     190        case VLC_FOURCC( 'd', 'i', 'v', '3' ): 
     191        case VLC_FOURCC( 'D', 'I', 'V', '3' ): 
     192        case VLC_FOURCC( 'd', 'i', 'v', '4' ): 
     193        case VLC_FOURCC( 'D', 'I', 'V', '4' ): 
     194        case VLC_FOURCC( 'd', 'i', 'v', '5' ): 
     195        case VLC_FOURCC( 'D', 'I', 'V', '5' ): 
     196        case VLC_FOURCC( 'd', 'i', 'v', '6' ): 
     197        case VLC_FOURCC( 'D', 'I', 'V', '6' ): 
     198        case VLC_FOURCC( 'M', 'P', '4', '3' ): 
     199        case VLC_FOURCC( 'm', 'p', '4', '3' ): 
     200        case VLC_FOURCC( 'm', 'p', 'g', '3' ): 
     201        case VLC_FOURCC( 'M', 'P', 'G', '3' ): 
     202        case VLC_FOURCC( 'A', 'P', '4', '1' ): 
     203            p_pack->output_format.i_fourcc = VLC_FOURCC( 'D', 'I', 'V', '3' ); 
     204            p_pack->output_format.i_cat = VIDEO_ES; 
     205            break; 
     206        case VLC_FOURCC( 'H', '2', '6', '3' ): 
     207        case VLC_FOURCC( 'h', '2', '6', '3' ): 
     208        case VLC_FOURCC( 'U', '2', '6', '3' ): 
     209        case VLC_FOURCC( 'u', '2', '6', '3' ): 
     210            p_pack->output_format.i_fourcc = VLC_FOURCC( 'H', '2', '6', '3' ); 
     211            p_pack->output_format.i_cat = VIDEO_ES; 
     212            break; 
     213        case VLC_FOURCC( 'I', '2', '6', '3' ): 
     214        case VLC_FOURCC( 'i', '2', '6', '3' ): 
     215            p_pack->output_format.i_fourcc = VLC_FOURCC( 'I', '2', '6', '3' ); 
     216            p_pack->output_format.i_cat = VIDEO_ES; 
     217            break; 
     218        case VLC_FOURCC( 'W', 'M', 'V', '1' ): 
     219            p_pack->output_format.i_fourcc = VLC_FOURCC( 'W', 'M', 'V', '1' ); 
     220            p_pack->output_format.i_cat = VIDEO_ES; 
     221            break; 
     222        case VLC_FOURCC( 'W', 'M', 'V', '2' ): 
     223            p_pack->output_format.i_fourcc = VLC_FOURCC( 'W', 'M', 'V', '2' ); 
     224            p_pack->output_format.i_cat = VIDEO_ES; 
     225            break; 
     226        case VLC_FOURCC( 'M', 'J', 'P', 'G' ): 
     227        case VLC_FOURCC( 'm', 'j', 'p', 'g' ): 
     228        case VLC_FOURCC( 'm', 'j', 'p', 'a' ): 
     229        case VLC_FOURCC( 'j', 'p', 'e', 'g' ): 
     230        case VLC_FOURCC( 'J', 'P', 'E', 'G' ): 
     231        case VLC_FOURCC( 'J', 'F', 'I', 'F' ): 
     232            p_pack->output_format.i_fourcc = VLC_FOURCC( 'M', 'J', 'P', 'G' ); 
     233            p_pack->output_format.i_cat = VIDEO_ES; 
     234            break; 
     235        case VLC_FOURCC( 'm', 'j', 'p', 'b' ): 
     236            p_pack->output_format.i_fourcc = VLC_FOURCC( 'm', 'j', 'p', 'b' ); 
     237            p_pack->output_format.i_cat = VIDEO_ES; 
     238            break; 
     239        case VLC_FOURCC( 'd', 'v', 's', 'l' ): 
     240        case VLC_FOURCC( 'd', 'v', 's', 'd' ): 
     241        case VLC_FOURCC( 'D', 'V', 'S', 'D' ): 
     242        case VLC_FOURCC( 'd', 'v', 'h', 'd' ): 
     243            p_pack->output_format.i_fourcc = VLC_FOURCC( 'd', 'v', 's', 'l' ); 
     244            p_pack->output_format.i_cat = VIDEO_ES; 
     245            break; 
     246 
    171247        default: 
    172248            p_pack->output_format.i_fourcc = p_pack->p_fifo->i_fourcc; 
    173249            p_pack->output_format.i_cat = UNKNOWN_ES; 
     250            break; 
     251    } 
     252 
     253    switch( p_pack->output_format.i_cat ) 
     254    { 
     255        case AUDIO_ES: 
     256            { 
     257                WAVEFORMATEX *p_wf = (WAVEFORMATEX*)p_pack->p_fifo->p_waveformatex; 
     258                if( p_wf ) 
     259                { 
     260                    p_pack->output_format.p_format = malloc( sizeof( WAVEFORMATEX ) + p_wf->cbSize ); 
     261                    memcpy( p_pack->output_format.p_format, p_wf, sizeof( WAVEFORMATEX ) + p_wf->cbSize ); 
     262                } 
     263                else 
     264                { 
     265                    p_pack->output_format.p_format = NULL; 
     266                } 
     267            } 
     268            break; 
     269 
     270        case VIDEO_ES: 
     271            { 
     272                BITMAPINFOHEADER *p_bih = (BITMAPINFOHEADER*)p_pack->p_fifo->p_bitmapinfoheader; 
     273                if( p_bih ) 
     274                { 
     275                    p_pack->output_format.p_format = malloc( p_bih->biSize ); 
     276                    memcpy( p_pack->output_format.p_format, p_bih, p_bih->biSize ); 
     277                    if( p_pack->output_format.i_fourcc == VLC_FOURCC( 'm', 'p', '4', 'v' ) ) 
     278                    { 
     279                        p_bih->biCompression = VLC_FOURCC( 'd', 'i', 'v', 'x' ); 
     280                    } 
     281                    else 
     282                    { 
     283                        p_bih->biCompression = p_pack->output_format.i_fourcc; 
     284                    } 
     285 
     286                } 
     287                else 
     288                { 
     289                    p_pack->output_format.p_format = NULL; 
     290                } 
     291            } 
     292            break; 
     293        default: 
     294            p_pack->output_format.p_format = NULL; 
    174295            break; 
    175296    } 
  • modules/packetizer/mpeg4video.c

    r8470508b re4fc7e4  
    33 ***************************************************************************** 
    44 * Copyright (C) 2001, 2002 VideoLAN 
    5  * $Id: mpeg4video.c,v 1.5 2003/01/17 15:26:24 fenrir Exp $ 
     5 * $Id: mpeg4video.c,v 1.6 2003/01/19 08:27:28 fenrir Exp $ 
    66 * 
    77 * Authors: Laurent Aimar <fenrir@via.ecp.fr> 
     
    111111    switch(  p_fifo->i_fourcc ) 
    112112    { 
     113        case VLC_FOURCC( 'm', '4', 's', '2'): 
     114        case VLC_FOURCC( 'M', '4', 'S', '2'): 
     115        case VLC_FOURCC( 'm', 'p', '4', 's'): 
     116        case VLC_FOURCC( 'M', 'P', '4', 'S'): 
    113117        case VLC_FOURCC( 'm', 'p', '4', 'v'): 
    114118        case VLC_FOURCC( 'D', 'I', 'V', 'X'): 
     
    118122        case VLC_FOURCC( 'x', 'v', 'i', 'd'): 
    119123        case VLC_FOURCC( 'D', 'X', '5', '0'): 
     124        case VLC_FOURCC( 0x04, 0,   0,   0): 
     125        case VLC_FOURCC( '3', 'I', 'V', '2'): 
     126 
    120127            return VLC_SUCCESS; 
    121128        default: 
     
    360367                    p_bih->biPlanes = 1; 
    361368                    p_bih->biBitCount = 24; 
    362                     p_bih->biCompression = 0x64697678; /* "divx" */ 
     369                    p_bih->biCompression = VLC_FOURCC( 'd', 'i', 'v', 'x' ); 
    363370                    p_bih->biSizeImage = 0; 
    364371                    p_bih->biXPelsPerMeter = 0; 
  • modules/packetizer/mpegvideo.c

    r9d72fcf re4fc7e4  
    33 ***************************************************************************** 
    44 * Copyright (C) 2001, 2002 VideoLAN 
    5  * $Id: mpegvideo.c,v 1.3 2003/01/13 02:33:13 fenrir Exp $ 
     5 * $Id: mpegvideo.c,v 1.4 2003/01/19 08:27:28 fenrir Exp $ 
    66 * 
    77 * Authors: Laurent Aimar <fenrir@via.ecp.fr> 
     
    247247        p_bih->biPlanes = 1; 
    248248        p_bih->biBitCount = 0; 
    249         p_bih->biCompression = 0x6D706732; /* mpg2 */ 
     249        p_bih->biCompression = VLC_FOURCC( 'm', 'p', 'g', '2' ); 
    250250        p_bih->biSizeImage = 0; 
    251251        p_bih->biXPelsPerMeter = 0;