Commit 2290ce7c authored by Derk-Jan Hartman's avatar Derk-Jan Hartman

* Added a bunch of fourcc's

* Added the new cinepak and msrle codecs as well as some other forgotten stuff
parent 91f6deae
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* ffmpeg.c: video decoder using ffmpeg library * ffmpeg.c: video decoder using ffmpeg library
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * Copyright (C) 1999-2001 VideoLAN
* $Id: ffmpeg.c,v 1.51 2003/09/26 16:10:24 gbazin Exp $ * $Id: ffmpeg.c,v 1.52 2003/10/01 22:39:43 hartman Exp $
* *
* Authors: Laurent Aimar <fenrir@via.ecp.fr> * Authors: Laurent Aimar <fenrir@via.ecp.fr>
* *
...@@ -498,6 +498,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, ...@@ -498,6 +498,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
i_codec = CODEC_ID_MPEG4; i_codec = CODEC_ID_MPEG4;
psz_name = "MPEG-4"; psz_name = "MPEG-4";
break; break;
/* FIXME FOURCC_H263P exist but what fourcc ? */ /* FIXME FOURCC_H263P exist but what fourcc ? */
case FOURCC_H263: case FOURCC_H263:
case FOURCC_h263: case FOURCC_h263:
...@@ -519,7 +520,6 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, ...@@ -519,7 +520,6 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
psz_name ="Windows Media Video 1"; psz_name ="Windows Media Video 1";
break; break;
case FOURCC_WMV2: case FOURCC_WMV2:
case FOURCC_MSS1:
i_cat = VIDEO_ES; i_cat = VIDEO_ES;
i_codec = CODEC_ID_WMV2; i_codec = CODEC_ID_WMV2;
psz_name ="Windows Media Video 2"; psz_name ="Windows Media Video 2";
...@@ -530,6 +530,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, ...@@ -530,6 +530,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
case FOURCC_jpeg: case FOURCC_jpeg:
case FOURCC_JPEG: case FOURCC_JPEG:
case FOURCC_JFIF: case FOURCC_JFIF:
case FOURCC_JPGL:
i_cat = VIDEO_ES; i_cat = VIDEO_ES;
i_codec = CODEC_ID_MJPEG; i_codec = CODEC_ID_MJPEG;
psz_name = "Motion JPEG"; psz_name = "Motion JPEG";
...@@ -580,6 +581,19 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, ...@@ -580,6 +581,19 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
psz_name ="Windows Media Audio 2"; psz_name ="Windows Media Audio 2";
break; break;
case FOURCC_HFYU:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_HUFFYUV;
psz_name ="Huff YUV";
break;
case FOURCC_CYUV:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_CYUV;
psz_name ="Creative YUV";
break;
#if( ( LIBAVCODEC_BUILD >= 4663 ) && ( !defined( WORDS_BIGENDIAN ) ) ) #if( ( LIBAVCODEC_BUILD >= 4663 ) && ( !defined( WORDS_BIGENDIAN ) ) )
/* Quality of this decoder on ppc is not good */ /* Quality of this decoder on ppc is not good */
case FOURCC_IV31: case FOURCC_IV31:
...@@ -593,7 +607,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, ...@@ -593,7 +607,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
#endif #endif
#if LIBAVCODEC_BUILD >= 4668 #if LIBAVCODEC_BUILD >= 4668
/* Not yet finished /* Sorta works */
case FOURCC_vp31: case FOURCC_vp31:
case FOURCC_VP31: case FOURCC_VP31:
i_cat = VIDEO_ES; i_cat = VIDEO_ES;
...@@ -601,14 +615,96 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, ...@@ -601,14 +615,96 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
psz_name = "On2's VP3 Video"; psz_name = "On2's VP3 Video";
break; break;
case FOURCC_asv1: #if ( !defined( WORDS_BIGENDIAN ) )
/* Another thing that doesn't work */
case FOURCC_ASV1: case FOURCC_ASV1:
i_cat = VIDEO_ES; i_cat = VIDEO_ES;
i_codec = CODEC_ID_ASV1; i_codec = CODEC_ID_ASV1;
psz_name = "Asus V1"; psz_name = "Asus V1";
break; */ break;
#endif #endif
case FOURCC_FFV1:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_FFV1;
psz_name = "FFMpeg Video 1";
break;
case FOURCC_RA10:
i_cat = AUDIO_ES;
i_codec = CODEC_ID_RA_144;
psz_name = "RealAudio 1.0";
break;
case FOURCC_RA20:
i_cat = AUDIO_ES;
i_codec = CODEC_ID_RA_288;
psz_name = "RealAudio 2.0";
break;
#endif
#if LIBAVCODEC_BUILD >= 4669
case FOURCC_FLV1:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_FLV1;
psz_name = "Flash Video";
break;
case FOURCC_VCR1:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_VCR1;
psz_name = "ATI VCR1";
break;
#endif
#if LIBAVCODEC_BUILD >= 4672
case FOURCC_CLJR:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_CLJR;
psz_name = "Creative Logic AccuPak";
break;
#endif
#if LIBAVCODEC_BUILD >= 4677
case FOURCC_ASV2:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_ASV2;
psz_name = "Asus V2";
break;
#endif
#if LIBAVCODEC_BUILD >= 4683
case FOURCC_rpza:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_RPZA;
psz_name = "Apple Video";
break;
case FOURCC_cvid:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_CINEPAK;
psz_name = "Cinepak";
break;
case FOURCC_mrle:
case FOURCC_1000:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_MSRLE;
psz_name = "Microsoft RLE";
break;
case FOURCC_cram:
case FOURCC_CRAM:
case FOURCC_msvc:
case FOURCC_MSVC
case FOURCC_wham:
case FOURCC_WHAM:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_MSVIDEO1;
psz_name = "Microsoft Video 1";
break;
#endif
default: default:
i_cat = UNKNOWN_ES; i_cat = UNKNOWN_ES;
i_codec = CODEC_ID_NONE; i_codec = CODEC_ID_NONE;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* ffmpeg_vdec.h: video decoder using ffmpeg library * ffmpeg_vdec.h: video decoder using ffmpeg library
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: ffmpeg.h,v 1.24 2003/08/17 23:02:52 fenrir Exp $ * $Id: ffmpeg.h,v 1.25 2003/10/01 22:39:43 hartman Exp $
* *
* Authors: Laurent Aimar <fenrir@via.ecp.fr> * Authors: Laurent Aimar <fenrir@via.ecp.fr>
* *
...@@ -128,32 +128,51 @@ int E_( GetPESData )( u8 *p_buf, int i_max, pes_packet_t *p_pes ); ...@@ -128,32 +128,51 @@ int E_( GetPESData )( u8 *p_buf, int i_max, pes_packet_t *p_pes );
#define FOURCC_3vid VLC_FOURCC('3','v','i','d') #define FOURCC_3vid VLC_FOURCC('3','v','i','d')
/* H263 and H263i */ /* H263 and H263i */
/* H263(+) is also known as Real Video 1.0 */
#define FOURCC_H263 VLC_FOURCC('H','2','6','3') #define FOURCC_H263 VLC_FOURCC('H','2','6','3')
#define FOURCC_h263 VLC_FOURCC('h','2','6','3') #define FOURCC_h263 VLC_FOURCC('h','2','6','3')
#define FOURCC_U263 VLC_FOURCC('U','2','6','3') #define FOURCC_U263 VLC_FOURCC('U','2','6','3')
#define FOURCC_I263 VLC_FOURCC('I','2','6','3') #define FOURCC_I263 VLC_FOURCC('I','2','6','3')
#define FOURCC_i263 VLC_FOURCC('i','2','6','3') #define FOURCC_i263 VLC_FOURCC('i','2','6','3')
/* Flash (H263) variant */
#define FOURCC_FLV1 VLC_FOURCC('F','L','V','1')
/* Sorenson v1/3 */ /* Sorenson v1/3 */
#define FOURCC_SVQ1 VLC_FOURCC( 'S', 'V', 'Q', '1' ) #define FOURCC_SVQ1 VLC_FOURCC('S','V','Q','1')
#define FOURCC_SVQ3 VLC_FOURCC( 'S', 'V', 'Q', '3' ) #define FOURCC_SVQ3 VLC_FOURCC('S','V','Q','3')
/* mjpeg */ /* mjpeg */
#define FOURCC_MJPG VLC_FOURCC( 'M', 'J', 'P', 'G' ) #define FOURCC_MJPG VLC_FOURCC( 'M', 'J', 'P', 'G' )
#define FOURCC_mjpg VLC_FOURCC( 'm', 'j', 'p', 'g' ) #define FOURCC_mjpg VLC_FOURCC( 'm', 'j', 'p', 'g' )
/* for mov file */ /* for mov file */
#define FOURCC_mjpa VLC_FOURCC( 'm', 'j', 'p', 'a' ) #define FOURCC_mjpa VLC_FOURCC( 'm', 'j', 'p', 'a' )
/* for mov file XXX: untested */ /* for mov file XXX: untested */
#define FOURCC_mjpb VLC_FOURCC( 'm', 'j', 'p', 'b' ) #define FOURCC_mjpb VLC_FOURCC( 'm', 'j', 'p', 'b' )
#define FOURCC_jpeg VLC_FOURCC( 'j', 'p', 'e', 'g' )
#define FOURCC_JPEG VLC_FOURCC( 'J', 'P', 'E', 'G' )
#define FOURCC_JFIF VLC_FOURCC( 'J', 'F', 'I', 'F' )
#define FOURCC_JPGL VLC_FOURCC( 'J', 'P', 'G', 'L' )
/* Microsoft Video 1 */
#define FOURCC_MSVC VLC_FOURCC('M','S','V','C')
#define FOURCC_msvc VLC_FOURCC('m','s','v','c')
#define FOURCC_CRAM VLC_FOURCC('C','R','A','M')
#define FOURCC_cram VLC_FOURCC('c','r','a','m')
#define FOURCC_WHAM VLC_FOURCC('W','H','A','M')
#define FOURCC_wham VLC_FOURCC('w','h','a','m')
/* Windows Screen Video */
#define FOURCC_MSS1 VLC_FOURCC('M','S','S','1')
#define FOURCC_jpeg VLC_FOURCC( 'j', 'p', 'e', 'g' ) /* Microsoft RLE */
#define FOURCC_JPEG VLC_FOURCC( 'J', 'P', 'E', 'G' ) #define FOURCC_mrle VLC_FOURCC('m','r','l','e')
#define FOURCC_JFIF VLC_FOURCC( 'J', 'F', 'I', 'F' ) #define FOURCC_1000 VLC_FOURCC(0x1,0x0,0x0,0x0)
/* wmv */ /* Windows Media Video */
#define FOURCC_WMV1 VLC_FOURCC('W','M','V','1') #define FOURCC_WMV1 VLC_FOURCC('W','M','V','1')
#define FOURCC_WMV2 VLC_FOURCC('W','M','V','2') #define FOURCC_WMV2 VLC_FOURCC('W','M','V','2')
#define FOURCC_MSS1 VLC_FOURCC('M','S','S','1')
/* DV */ /* DV */
#define FOURCC_dvsl VLC_FOURCC('d','v','s','l') #define FOURCC_dvsl VLC_FOURCC('d','v','s','l')
...@@ -174,9 +193,31 @@ int E_( GetPESData )( u8 *p_buf, int i_max, pes_packet_t *p_pes ); ...@@ -174,9 +193,31 @@ int E_( GetPESData )( u8 *p_buf, int i_max, pes_packet_t *p_pes );
#define FOURCC_VP31 VLC_FOURCC('V','P','3','1') #define FOURCC_VP31 VLC_FOURCC('V','P','3','1')
#define FOURCC_vp31 VLC_FOURCC('v','p','3','1') #define FOURCC_vp31 VLC_FOURCC('v','p','3','1')
/* Asus Video 1 */ /* Asus Video */
#define FOURCC_asv1 VLC_FOURCC('a','s','v','1')
#define FOURCC_ASV1 VLC_FOURCC('A','S','V','1') #define FOURCC_ASV1 VLC_FOURCC('A','S','V','1')
#define FOURCC_ASV2 VLC_FOURCC('A','S','V','2')
/* ATI VCR1 */
#define FOURCC_VCR1 VLC_FOURCC('V','C','R','1')
/* FFMPEG Video 1 (lossless codec) */
#define FOURCC_FFV1 VLC_FOURCC('F','F','V','1')
/* Cirrus Logic AccuPak */
#define FOURCC_CLJR VLC_FOURCC('C','L','J','R')
/* Creative YUV */
#define FOURCC_CYUV VLC_FOURCC('C','Y','U','V')
/* Huff YUV */
#define FOURCC_HFYU VLC_FOURCC('H','F','Y','U')
/* Apple Video */
#define FOURCC_rpza VLC_FOURCC('r','p','z','a')
/* Cinepak */
#define FOURCC_cvid VLC_FOURCC('c','v','i','d')
/***************************************************************************** /*****************************************************************************
* Audio codec fourcc * Audio codec fourcc
...@@ -190,3 +231,6 @@ int E_( GetPESData )( u8 *p_buf, int i_max, pes_packet_t *p_pes ); ...@@ -190,3 +231,6 @@ int E_( GetPESData )( u8 *p_buf, int i_max, pes_packet_t *p_pes );
#define FOURCC_MAC3 VLC_FOURCC('M','A','C','3') #define FOURCC_MAC3 VLC_FOURCC('M','A','C','3')
#define FOURCC_MAC6 VLC_FOURCC('M','A','C','6') #define FOURCC_MAC6 VLC_FOURCC('M','A','C','6')
#define FOURCC_RA10 VLC_FOURCC('1','4','_','4')
#define FOURCC_RA20 VLC_FOURCC('2','8','_','8')
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment