Commit 2b4c0fcd authored by Derk-Jan Hartman's avatar Derk-Jan Hartman

* 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.
parent e5a02487
......@@ -231,6 +231,18 @@
<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>
......
......@@ -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";
......
......@@ -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')
......
......@@ -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:
......
......@@ -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
......@@ -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')
......
......@@ -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 */
......
......@@ -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
......@@ -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' )
......
......@@ -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
......
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