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 @@
* ffmpeg.c: video decoder using ffmpeg library
*****************************************************************************
* 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>
*
......@@ -498,6 +498,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
i_codec = CODEC_ID_MPEG4;
psz_name = "MPEG-4";
break;
/* FIXME FOURCC_H263P exist but what fourcc ? */
case FOURCC_H263:
case FOURCC_h263:
......@@ -519,7 +520,6 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
psz_name ="Windows Media Video 1";
break;
case FOURCC_WMV2:
case FOURCC_MSS1:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_WMV2;
psz_name ="Windows Media Video 2";
......@@ -530,6 +530,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
case FOURCC_jpeg:
case FOURCC_JPEG:
case FOURCC_JFIF:
case FOURCC_JPGL:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_MJPEG;
psz_name = "Motion JPEG";
......@@ -580,6 +581,19 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
psz_name ="Windows Media Audio 2";
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 ) ) )
/* Quality of this decoder on ppc is not good */
case FOURCC_IV31:
......@@ -593,7 +607,7 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
#endif
#if LIBAVCODEC_BUILD >= 4668
/* Not yet finished
/* Sorta works */
case FOURCC_vp31:
case FOURCC_VP31:
i_cat = VIDEO_ES;
......@@ -601,14 +615,96 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc,
psz_name = "On2's VP3 Video";
break;
case FOURCC_asv1:
#if ( !defined( WORDS_BIGENDIAN ) )
/* Another thing that doesn't work */
case FOURCC_ASV1:
i_cat = VIDEO_ES;
i_codec = CODEC_ID_ASV1;
psz_name = "Asus V1";
break; */
break;
#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:
i_cat = UNKNOWN_ES;
i_codec = CODEC_ID_NONE;
......
......@@ -2,7 +2,7 @@
* ffmpeg_vdec.h: video decoder using ffmpeg library
*****************************************************************************
* 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>
*
......@@ -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')
/* 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_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')
/* Flash (H263) variant */
#define FOURCC_FLV1 VLC_FOURCC('F','L','V','1')
/* Sorenson v1/3 */
#define FOURCC_SVQ1 VLC_FOURCC( 'S', 'V', 'Q', '1' )
#define FOURCC_SVQ3 VLC_FOURCC( 'S', 'V', 'Q', '3' )
#define FOURCC_SVQ1 VLC_FOURCC('S','V','Q','1')
#define FOURCC_SVQ3 VLC_FOURCC('S','V','Q','3')
/* 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 */
#define FOURCC_mjpa VLC_FOURCC( 'm', 'j', 'p', 'a' )
#define FOURCC_mjpa VLC_FOURCC( 'm', 'j', 'p', 'a' )
/* 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' )
#define FOURCC_JPEG VLC_FOURCC( 'J', 'P', 'E', 'G' )
#define FOURCC_JFIF VLC_FOURCC( 'J', 'F', 'I', 'F' )
/* Microsoft RLE */
#define FOURCC_mrle VLC_FOURCC('m','r','l','e')
#define FOURCC_1000 VLC_FOURCC(0x1,0x0,0x0,0x0)
/* wmv */
/* Windows Media Video */
#define FOURCC_WMV1 VLC_FOURCC('W','M','V','1')
#define FOURCC_WMV2 VLC_FOURCC('W','M','V','2')
#define FOURCC_MSS1 VLC_FOURCC('M','S','S','1')
/* DV */
#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 );
#define FOURCC_VP31 VLC_FOURCC('V','P','3','1')
#define FOURCC_vp31 VLC_FOURCC('v','p','3','1')
/* Asus Video 1 */
#define FOURCC_asv1 VLC_FOURCC('a','s','v','1')
/* Asus Video */
#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
......@@ -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_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