* extras/MacOSX/vlc.pbproj/project.pbxproj:
authorDerk-Jan Hartman <hartman@videolan.org>
Thu, 13 Mar 2003 16:09:21 +0000 (16:09 +0000)
committerDerk-Jan Hartman <hartman@videolan.org>
Thu, 13 Mar 2003 16:09:21 +0000 (16:09 +0000)
  - 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.

extras/MacOSX/vlc.pbproj/project.pbxproj
modules/codec/ffmpeg/ffmpeg.c
modules/codec/ffmpeg/ffmpeg.h
modules/demux/avi/avi.c
modules/demux/avi/libavi.h
modules/demux/mp4/libmp4.c
modules/demux/mp4/libmp4.h
modules/gui/macosx/intf.m

index 84ad70b..66b1386 100644 (file)
                        <key>CFBundleTypeRole</key>
                        <string>Viewer</string>
                </dict>
+               <dict>
+                       <key>CFBundleTypeExtensions</key>
+                       <array>
+                               <string>pls</string>
+                       </array>
+                       <key>CFBundleTypeIconFile</key>
+                       <string>generic.icns</string>
+                       <key>CFBundleTypeName</key>
+                       <string>Shoutcast playlist</string>
+                       <key>CFBundleTypeRole</key>
+                       <string>Viewer</string>
+               </dict>
                <dict>
                        <key>CFBundleTypeExtensions</key>
                        <array>
index af51a33..0a5bc6c 100644 (file)
@@ -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 <fenrir@via.ecp.fr>
  *
@@ -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";
index 9f614c1..e1645db 100644 (file)
@@ -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 <fenrir@via.ecp.fr>
  * 
@@ -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')
index 169dcc6..0f8bdcd 100644 (file)
@@ -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 <fenrir@via.ecp.fr>
  *
  * 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:
index dfc62b3..c45bfb4 100644 (file)
@@ -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 <fenrir@via.ecp.fr>
  * 
  * This program is free software; you can redistribute it and/or modify
     /* 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')
index a817a1c..c18bc4f 100644 (file)
@@ -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 <fenrir@via.ecp.fr>
  *
  * 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 */
index 465d477..27fedd8 100644 (file)
@@ -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 <fenrir@via.ecp.fr>
  * 
  * This program is free software; you can redistribute it and/or modify
 #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' )
index fc3f576..a2239b7 100644 (file)
@@ -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 <jon-vl@nanocrew.net>
  *          Christophe Massiot <massiot@via.ecp.fr>
@@ -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