summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libdivx4/xine_decoder.c7
-rw-r--r--src/libffmpeg/xine_decoder.c14
-rw-r--r--src/libw32dll/w32codec.c14
-rw-r--r--src/xine-engine/buffer.h5
-rw-r--r--src/xine-engine/buffer_types.c15
5 files changed, 36 insertions, 19 deletions
diff --git a/src/libdivx4/xine_decoder.c b/src/libdivx4/xine_decoder.c
index 930e3f79d..c5dfdb4b8 100644
--- a/src/libdivx4/xine_decoder.c
+++ b/src/libdivx4/xine_decoder.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_decoder.c,v 1.37 2002/06/12 12:22:35 f1rmb Exp $
+ * $Id: xine_decoder.c,v 1.38 2002/07/01 17:56:05 miguelfreitas Exp $
*
* xine decoder plugin using divx4
*
@@ -231,7 +231,8 @@ static int divx4_init_decoder(divx4_decoder_t *this, buf_element_t *buf) {
/* do we need divx 3.11 compatibility mode? */
switch (buf->type & 0xFFFF0000) {
- case BUF_VIDEO_MSMPEG4_V12:
+ case BUF_VIDEO_MSMPEG4_V1:
+ case BUF_VIDEO_MSMPEG4_V2:
case BUF_VIDEO_MSMPEG4_V3:
if (this->version >= 20020303) {
param.codec_version=311;
@@ -353,7 +354,7 @@ static int divx4_can_handle (video_decoder_t *this_gen, int buf_type) {
/* divx4 currently does not support MSMPEG4 v1/v2 */
return ( (buf_type == BUF_VIDEO_MSMPEG4_V3 && this->can_handle_311) ||
- /* buf_type == BUF_VIDEO_MSMPEG4_V12 || */
+ /* buf_type == BUF_VIDEO_MSMPEG4_V2 || */
(buf_type == BUF_VIDEO_MPEG4) ||
(buf_type == BUF_VIDEO_DIVX5));
}
diff --git a/src/libffmpeg/xine_decoder.c b/src/libffmpeg/xine_decoder.c
index 63a81d595..bf3cfa8b2 100644
--- a/src/libffmpeg/xine_decoder.c
+++ b/src/libffmpeg/xine_decoder.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: xine_decoder.c,v 1.44 2002/07/01 13:33:12 miguelfreitas Exp $
+ * $Id: xine_decoder.c,v 1.45 2002/07/01 17:56:05 miguelfreitas Exp $
*
* xine decoder plugin using ffmpeg
*
@@ -68,10 +68,9 @@ typedef struct ff_decoder_s {
static int ff_can_handle (video_decoder_t *this_gen, int buf_type) {
buf_type &= 0xFFFF0000;
- /* ffmpeg currently does not support MSMPEG4 v1/v2 */
- /* there's some problem with I263 too */
return ( buf_type == BUF_VIDEO_MSMPEG4_V3 ||
- /* buf_type == BUF_VIDEO_MSMPEG4_V12 || */
+ buf_type == BUF_VIDEO_MSMPEG4_V2 ||
+ buf_type == BUF_VIDEO_MSMPEG4_V1 ||
buf_type == BUF_VIDEO_WMV7 ||
buf_type == BUF_VIDEO_MPEG4 ||
buf_type == BUF_VIDEO_XVID ||
@@ -119,7 +118,12 @@ static void ff_decode_data (video_decoder_t *this_gen, buf_element_t *buf) {
codec_type = buf->type & 0xFFFF0000;
switch (codec_type) {
- case BUF_VIDEO_MSMPEG4_V12:
+ case BUF_VIDEO_MSMPEG4_V1:
+ codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V1);
+ break;
+ case BUF_VIDEO_MSMPEG4_V2:
+ codec = avcodec_find_decoder (CODEC_ID_MSMPEG4V2);
+ break;
case BUF_VIDEO_MSMPEG4_V3:
codec = avcodec_find_decoder (CODEC_ID_MSMPEG4);
break;
diff --git a/src/libw32dll/w32codec.c b/src/libw32dll/w32codec.c
index 93787eeae..90926b27e 100644
--- a/src/libw32dll/w32codec.c
+++ b/src/libw32dll/w32codec.c
@@ -17,13 +17,13 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: w32codec.c,v 1.82 2002/06/21 01:44:17 miguelfreitas Exp $
+ * $Id: w32codec.c,v 1.83 2002/07/01 17:56:05 miguelfreitas Exp $
*
* routines for using w32 codecs
* DirectShow support by Miguel Freitas (Nov/2001)
*
*/
-
+
#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
@@ -285,7 +285,8 @@ static char* get_vids_codec_name(w32v_decoder_t *this,
buf_type &= 0xffff0000;
switch (buf_type) {
- case BUF_VIDEO_MSMPEG4_V12:
+ case BUF_VIDEO_MSMPEG4_V1:
+ case BUF_VIDEO_MSMPEG4_V2:
/* Microsoft MPEG-4 v1/v2 */
/* old dll is disabled now due segfaults
* (using directshow instead)
@@ -403,9 +404,10 @@ static char* get_vids_codec_name(w32v_decoder_t *this,
static int w32v_can_handle (video_decoder_t *this_gen, int buf_type) {
buf_type &= 0xFFFF0000;
- return ( buf_type == BUF_VIDEO_MSMPEG4_V12 ||
- buf_type == BUF_VIDEO_MSMPEG4_V3 ||
- buf_type == BUF_VIDEO_IV50 ||
+ return ( buf_type == BUF_VIDEO_MSMPEG4_V1 ||
+ buf_type == BUF_VIDEO_MSMPEG4_V2 ||
+ buf_type == BUF_VIDEO_MSMPEG4_V3 ||
+ buf_type == BUF_VIDEO_IV50 ||
buf_type == BUF_VIDEO_IV41 ||
buf_type == BUF_VIDEO_IV32 ||
buf_type == BUF_VIDEO_IV31 ||
diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h
index 339f556d1..15eac4969 100644
--- a/src/xine-engine/buffer.h
+++ b/src/xine-engine/buffer.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: buffer.h,v 1.53 2002/06/26 15:55:49 jkeil Exp $
+ * $Id: buffer.h,v 1.54 2002/07/01 17:56:05 miguelfreitas Exp $
*
*
* contents:
@@ -83,7 +83,7 @@ extern "C" {
#define BUF_VIDEO_MPEG4 0x02010000
#define BUF_VIDEO_CINEPAK 0x02020000
#define BUF_VIDEO_SORENSON_V1 0x02030000
-#define BUF_VIDEO_MSMPEG4_V12 0x02040000
+#define BUF_VIDEO_MSMPEG4_V2 0x02040000
#define BUF_VIDEO_MSMPEG4_V3 0x02050000
#define BUF_VIDEO_MJPEG 0x02060000
#define BUF_VIDEO_IV50 0x02070000
@@ -116,6 +116,7 @@ extern "C" {
#define BUF_VIDEO_FLI 0x02230000
#define BUF_VIDEO_ROQ 0x02240000
#define BUF_VIDEO_SORENSON_V3 0x02250000
+#define BUF_VIDEO_MSMPEG4_V1 0x02260000
/* audio buffer types: (please keep in sync with buffer_types.c) */
diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c
index 78cb7dba7..4812def16 100644
--- a/src/xine-engine/buffer_types.c
+++ b/src/xine-engine/buffer_types.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: buffer_types.c,v 1.26 2002/06/24 12:26:30 jcdutton Exp $
+ * $Id: buffer_types.c,v 1.27 2002/07/01 17:56:05 miguelfreitas Exp $
*
*
* contents:
@@ -136,6 +136,15 @@ static video_db_t video_db[] = {
{
meFOURCC('M', 'P', '4', '1'),
meFOURCC('m', 'p', '4', '1'),
+ 0
+ },
+ BUF_VIDEO_MSMPEG4_V1,
+ "Microsoft MPEG-4 format v1"
+},
+{
+ {
+ meFOURCC('M', 'P', '4', '1'),
+ meFOURCC('m', 'p', '4', '1'),
meFOURCC('M', 'P', '4', '2'),
meFOURCC('m', 'p', '4', '2'),
meFOURCC('D', 'I', 'V', '2'),
@@ -144,8 +153,8 @@ static video_db_t video_db[] = {
meFOURCC('m', 'p', 'g', '4'),
0
},
- BUF_VIDEO_MSMPEG4_V12,
- "Microsoft MPEG-4 format v1/v2"
+ BUF_VIDEO_MSMPEG4_V2,
+ "Microsoft MPEG-4 format v2"
},
{
{