From: Derk-Jan Hartman Date: Thu, 13 Mar 2003 16:09:21 +0000 (+0000) Subject: * extras/MacOSX/vlc.pbproj/project.pbxproj: X-Git-Tag: 0.5.3~196 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=2b4c0fcd12ae848583560d8e805da59d35f6bb98;p=vlc * extras/MacOSX/vlc.pbproj/project.pbxproj: - added .qt and .pls file extensions. * modules/gui/macosx/intf.m: - increased the number of lines the messages dialog can hold to 400. * added fourcc '3iv1' to .avi and .mov - this is 3ivx D3.5 video. - we cannot read them at however and probably never will. I added them for completeness. * added fourcc '3iv2' to .avi and ffmpeg - this is 3ivx D4 video - it is mpeg 4 compliant and ffmpeg decodes it, via MPEG4. * added fourcc '3ivd' to .avi, .mov and ffmpeg. - this is video which was divx doctored by the 3ivx doctor program. - it is normal DIV3 video and ffmpeg decodes it via MPEG4 v3. * added fourcc '3vid' to .avi, .mov and ffmpeg. - this is incorrect encoded DIV3. it is an endianness issue by the encoder. - ffmpeg can decode it however, so it is mapped to MPEG4 v3. --- diff --git a/extras/MacOSX/vlc.pbproj/project.pbxproj b/extras/MacOSX/vlc.pbproj/project.pbxproj index 84ad70b4dd..66b13867ea 100644 --- a/extras/MacOSX/vlc.pbproj/project.pbxproj +++ b/extras/MacOSX/vlc.pbproj/project.pbxproj @@ -231,6 +231,18 @@ CFBundleTypeRole Viewer + + CFBundleTypeExtensions + + pls + + CFBundleTypeIconFile + generic.icns + CFBundleTypeName + Shoutcast playlist + CFBundleTypeRole + Viewer + CFBundleTypeExtensions diff --git a/modules/codec/ffmpeg/ffmpeg.c b/modules/codec/ffmpeg/ffmpeg.c index af51a33f87..0a5bc6c05f 100644 --- a/modules/codec/ffmpeg/ffmpeg.c +++ b/modules/codec/ffmpeg/ffmpeg.c @@ -2,7 +2,7 @@ * ffmpeg.c: video decoder using ffmpeg library ***************************************************************************** * Copyright (C) 1999-2001 VideoLAN - * $Id: ffmpeg.c,v 1.26 2003/03/11 05:52:37 fenrir Exp $ + * $Id: ffmpeg.c,v 1.27 2003/03/13 16:09:20 hartman Exp $ * * Authors: Laurent Aimar * @@ -432,7 +432,10 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, case FOURCC_DIV6: case FOURCC_div6: case FOURCC_AP41: - case FOURCC_3IV1: + case FOURCC_3VID: + case FOURCC_3vid: + case FOURCC_3IVD: + case FOURCC_3ivd: i_cat = VIDEO_ES; #if LIBAVCODEC_BUILD >= 4608 i_codec = CODEC_ID_MSMPEG4V3; @@ -462,7 +465,13 @@ static int ffmpeg_GetFfmpegCodec( vlc_fourcc_t i_fourcc, case FOURCC_DX50: case FOURCC_mp4v: case FOURCC_4: + /* 3iv1 is unsupported by ffmpeg + putting it here gives extreme distorted images + case FOURCC_3IV1: + case FOURCC_3iv1: + */ case FOURCC_3IV2: + case FOURCC_3iv2: i_cat = VIDEO_ES; i_codec = CODEC_ID_MPEG4; psz_name = "MPEG-4"; diff --git a/modules/codec/ffmpeg/ffmpeg.h b/modules/codec/ffmpeg/ffmpeg.h index 9f614c13f2..e1645dbc55 100644 --- a/modules/codec/ffmpeg/ffmpeg.h +++ b/modules/codec/ffmpeg/ffmpeg.h @@ -2,7 +2,7 @@ * ffmpeg_vdec.h: video decoder using ffmpeg library ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: ffmpeg.h,v 1.13 2003/03/11 06:58:06 fenrir Exp $ + * $Id: ffmpeg.h,v 1.14 2003/03/13 16:09:20 hartman Exp $ * * Authors: Laurent Aimar * @@ -108,9 +108,21 @@ int E_( GetPESData )( u8 *p_buf, int i_max, pes_packet_t *p_pes ); /* AngelPotion stuff */ #define FOURCC_AP41 VLC_FOURCC('A','P','4','1') -/* ?? */ +/* 3ivx doctered divx files */ +#define FOURCC_3IVD VLC_FOURCC('3','I','V','D') +#define FOURCC_3ivd VLC_FOURCC('3','i','v','d') + +/* 3ivx delta 3.5 Unsupported */ #define FOURCC_3IV1 VLC_FOURCC('3','I','V','1') +#define FOURCC_3iv1 VLC_FOURCC('3','i','v','1') + +/* 3ivx delta 4 */ #define FOURCC_3IV2 VLC_FOURCC('3','I','V','2') +#define FOURCC_3iv2 VLC_FOURCC('3','i','v','2') + +/* who knows? */ +#define FOURCC_3VID VLC_FOURCC('3','V','I','D') +#define FOURCC_3vid VLC_FOURCC('3','v','i','d') /* H263 and H263i */ #define FOURCC_H263 VLC_FOURCC('H','2','6','3') diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c index 169dcc6edb..0f8bdcdd6a 100644 --- a/modules/demux/avi/avi.c +++ b/modules/demux/avi/avi.c @@ -2,7 +2,7 @@ * avi.c : AVI file Stream input module for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: avi.c,v 1.39 2003/03/03 23:48:41 massiot Exp $ + * $Id: avi.c,v 1.40 2003/03/13 16:09:20 hartman Exp $ * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify @@ -262,6 +262,11 @@ vlc_fourcc_t AVI_FourccGetCodec( unsigned int i_cat, vlc_fourcc_t i_codec ) case FOURCC_div6: case FOURCC_AP41: case FOURCC_3IV1: + case FOURCC_3iv1: + case FOURCC_3IVD: + case FOURCC_3ivd: + case FOURCC_3VID: + case FOURCC_3vid: return FOURCC_DIV3; case FOURCC_DIVX: case FOURCC_divx: @@ -275,6 +280,8 @@ vlc_fourcc_t AVI_FourccGetCodec( unsigned int i_cat, vlc_fourcc_t i_codec ) case FOURCC_DX50: case FOURCC_mp4v: case FOURCC_4: + case FOURCC_3IV2: + case FOURCC_3iv2: return FOURCC_mp4v; } default: diff --git a/modules/demux/avi/libavi.h b/modules/demux/avi/libavi.h index dfc62b3539..c45bfb4d06 100644 --- a/modules/demux/avi/libavi.h +++ b/modules/demux/avi/libavi.h @@ -2,7 +2,7 @@ * libavi.h : LibAVI library ****************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: libavi.h,v 1.7 2003/01/25 16:58:34 fenrir Exp $ + * $Id: libavi.h,v 1.8 2003/03/13 16:09:20 hartman Exp $ * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify @@ -139,8 +139,16 @@ /* AngelPotion stuff */ #define FOURCC_AP41 VLC_FOURCC('A','P','4','1') - /* ?? */ + /* 3IVX */ #define FOURCC_3IV1 VLC_FOURCC('3','I','V','1') +#define FOURCC_3iv1 VLC_FOURCC('2','i','v','1') +#define FOURCC_3IV2 VLC_FOURCC('3','I','V','2') +#define FOURCC_3iv2 VLC_FOURCC('3','i','v','2') +#define FOURCC_3IVD VLC_FOURCC('3','I','V','D') +#define FOURCC_3ivd VLC_FOURCC('3','i','v','d') +#define FOURCC_3VID VLC_FOURCC('3','V','I','D') +#define FOURCC_3vid VLC_FOURCC('3','v','i','d') + /* H263 and H263i */ #define FOURCC_H263 VLC_FOURCC('H','2','6','3') #define FOURCC_h263 VLC_FOURCC('h','2','6','3') diff --git a/modules/demux/mp4/libmp4.c b/modules/demux/mp4/libmp4.c index a817a1c87b..c18bc4fad1 100644 --- a/modules/demux/mp4/libmp4.c +++ b/modules/demux/mp4/libmp4.c @@ -2,7 +2,7 @@ * libmp4.c : LibMP4 library for mp4 module for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: libmp4.c,v 1.17 2003/03/11 18:57:50 fenrir Exp $ + * $Id: libmp4.c,v 1.18 2003/03/13 16:09:20 hartman Exp $ * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify @@ -2112,7 +2112,13 @@ static struct { FOURCC_h263, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, { FOURCC_cvid, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, { FOURCC_3IV1, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, + { FOURCC_3iv1, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, { FOURCC_3IV2, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, + { FOURCC_3iv2, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, + { FOURCC_3IVD, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, + { FOURCC_3ivd, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, + { FOURCC_3VID, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, + { FOURCC_3vid, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, { FOURCC_mjpa, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, { FOURCC_mjpb, MP4_ReadBox_sample_vide, MP4_FreeBox_Common }, { FOURCC_mjqt, NULL, NULL }, /* found in mjpa/b */ diff --git a/modules/demux/mp4/libmp4.h b/modules/demux/mp4/libmp4.h index 465d477abe..27fedd8272 100644 --- a/modules/demux/mp4/libmp4.h +++ b/modules/demux/mp4/libmp4.h @@ -2,7 +2,7 @@ * libmp4.h : LibMP4 library for mp4 module for vlc ***************************************************************************** * Copyright (C) 2001 VideoLAN - * $Id: libmp4.h,v 1.8 2003/03/11 18:57:50 fenrir Exp $ + * $Id: libmp4.h,v 1.9 2003/03/13 16:09:20 hartman Exp $ * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify @@ -112,7 +112,13 @@ #define FOURCC_SVQ1 VLC_FOURCC( 'S', 'V', 'Q', '1' ) #define FOURCC_SVQ3 VLC_FOURCC( 'S', 'V', 'Q', '3' ) #define FOURCC_3IV1 VLC_FOURCC( '3', 'I', 'V', '1' ) +#define FOURCC_3iv1 VLC_FOURCC( '3', 'i', 'v', '1' ) #define FOURCC_3IV2 VLC_FOURCC( '3', 'I', 'V', '2' ) +#define FOURCC_3iv2 VLC_FOURCC( '3', 'i', 'v', '2' ) +#define FOURCC_3IVD VLC_FOURCC( '3', 'I', 'V', 'D' ) +#define FOURCC_3ivd VLC_FOURCC( '3', 'i', 'v', 'd' ) +#define FOURCC_3VID VLC_FOURCC( '3', 'V', 'I', 'D' ) +#define FOURCC_3vid VLC_FOURCC( '3', 'v', 'i', 'd' ) #define FOURCC_h263 VLC_FOURCC( 'h', '2', '6', '3' ) #define FOURCC_DIVX VLC_FOURCC( 'D', 'I', 'V', 'X' ) #define FOURCC_cvid VLC_FOURCC( 'c', 'v', 'i', 'd' ) diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index fc3f576a76..a2239b7631 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -2,7 +2,7 @@ * intf.m: MacOS X interface plugin ***************************************************************************** * Copyright (C) 2002-2003 VideoLAN - * $Id: intf.m,v 1.67 2003/03/06 12:05:05 hartman Exp $ + * $Id: intf.m,v 1.68 2003/03/13 16:09:21 hartman Exp $ * * Authors: Jon Lech Johansen * Christophe Massiot @@ -813,7 +813,7 @@ int ExecuteOnMainThread( id target, SEL sel, void * p_arg ) [o_msg_lock lock]; - if( [o_msg_arr count] + 2 > 200 ) + if( [o_msg_arr count] + 2 > 400 ) { unsigned rid[] = { 0, 1 }; [o_msg_arr removeObjectsFromIndices: (unsigned *)&rid