[FFmpeg-cvslog] r10951 - in trunk/libavcodec: Makefile msmpeg4.c msmpeg4.h wmv2.c
aurel
subversion
Thu Nov 8 00:41:39 CET 2007
Author: aurel
Date: Thu Nov 8 00:41:39 2007
New Revision: 10951
Log:
split wmv2 in its own file
Modified:
trunk/libavcodec/Makefile
trunk/libavcodec/msmpeg4.c
trunk/libavcodec/msmpeg4.h
trunk/libavcodec/wmv2.c
Modified: trunk/libavcodec/Makefile
==============================================================================
--- trunk/libavcodec/Makefile (original)
+++ trunk/libavcodec/Makefile Thu Nov 8 00:41:39 2007
@@ -209,8 +209,8 @@ OBJS-$(CONFIG_WMAV1_ENCODER) +
OBJS-$(CONFIG_WMAV2_ENCODER) += wmaenc.o wma.o mdct.o fft.o
OBJS-$(CONFIG_WMV1_DECODER) += h263dec.o h263.o
OBJS-$(CONFIG_WMV1_ENCODER) += mpegvideo_enc.o motion_est.o ratecontrol.o h263.o
-OBJS-$(CONFIG_WMV2_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o h263.o
-OBJS-$(CONFIG_WMV2_ENCODER) += msmpeg4.o msmpeg4data.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o
+OBJS-$(CONFIG_WMV2_DECODER) += wmv2.o msmpeg4.o msmpeg4data.o h263dec.o h263.o
+OBJS-$(CONFIG_WMV2_ENCODER) += wmv2.o msmpeg4.o msmpeg4data.o mpegvideo_enc.o motion_est.o ratecontrol.o h263.o
OBJS-$(CONFIG_WMV3_DECODER) += vc1.o vc1data.o vc1dsp.o
OBJS-$(CONFIG_WNV1_DECODER) += wnv1.o
OBJS-$(CONFIG_WS_SND1_DECODER) += ws-snd1.o
Modified: trunk/libavcodec/msmpeg4.c
==============================================================================
--- trunk/libavcodec/msmpeg4.c (original)
+++ trunk/libavcodec/msmpeg4.c Thu Nov 8 00:41:39 2007
@@ -30,6 +30,7 @@
#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
+#include "msmpeg4.h"
/*
* You can also call this codec : MPEG4 with a twist !
@@ -42,7 +43,6 @@
#define DC_VLC_BITS 9
#define CBPY_VLC_BITS 6
-#define INTER_INTRA_VLC_BITS 3
#define V1_INTRA_CBPC_VLC_BITS 6
#define V1_INTER_CBPC_VLC_BITS 6
#define V2_INTRA_CBPC_VLC_BITS 3
@@ -50,8 +50,6 @@
#define MV_VLC_BITS 9
#define V2_MV_VLC_BITS 9
#define TEX_VLC_BITS 9
-#define MB_NON_INTRA_VLC_BITS 9
-#define MB_INTRA_VLC_BITS 9
#define II_BITRATE 128*1024
#define MBAC_BITRATE 50*1024
@@ -61,12 +59,7 @@
static uint32_t v2_dc_lum_table[512][2];
static uint32_t v2_dc_chroma_table[512][2];
-void ff_msmpeg4_encode_block(MpegEncContext * s, DCTELEM * block, int n);
-int ff_msmpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
- int n, int coded, const uint8_t *scantable);
static int msmpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr);
-int ff_msmpeg4_decode_motion(MpegEncContext * s,
- int *mx_ptr, int *my_ptr);
static void init_h263_dc_for_msmpeg4(void);
static inline void msmpeg4_memsetw(short *tab, int val, int n);
#ifdef CONFIG_ENCODERS
@@ -75,7 +68,6 @@ static int get_size_of_code(MpegEncConte
#endif //CONFIG_ENCODERS
static int msmpeg4v12_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
static int msmpeg4v34_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
-int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
/* vc1 externs */
extern uint8_t wmv3_dc_scale_table[32];
@@ -1145,6 +1137,7 @@ int ff_msmpeg4_decode_init(MpegEncContex
s->decode_mb= msmpeg4v34_decode_mb;
break;
case 5:
+ if (ENABLE_WMV2_DECODER)
s->decode_mb= ff_wmv2_decode_mb;
case 6:
//FIXME + TODO VC1 decode mb
@@ -1949,9 +1942,3 @@ int ff_msmpeg4_decode_motion(MpegEncCont
*my_ptr = my;
return 0;
}
-
-/* cleanest way to support it
- * there is too much shared between versions so that we cant have 1 file per version & 1 common
- * as allmost everything would be in the common file
- */
-#include "wmv2.c"
Modified: trunk/libavcodec/msmpeg4.h
==============================================================================
--- trunk/libavcodec/msmpeg4.h (original)
+++ trunk/libavcodec/msmpeg4.h Thu Nov 8 00:41:39 2007
@@ -27,6 +27,27 @@
#define FFMPEG_MSMPEG4_H
#include "config.h"
+#include "avcodec.h"
+#include "dsputil.h"
+#include "mpegvideo.h"
+
+#define INTER_INTRA_VLC_BITS 3
+#define MB_NON_INTRA_VLC_BITS 9
+#define MB_INTRA_VLC_BITS 9
+
+extern VLC ff_mb_non_intra_vlc[4];
+extern VLC ff_inter_intra_vlc;
+
+void ff_msmpeg4_code012(PutBitContext *pb, int n);
+void ff_msmpeg4_encode_block(MpegEncContext * s, DCTELEM * block, int n);
+void ff_msmpeg4_handle_slices(MpegEncContext *s);
+void ff_msmpeg4_encode_motion(MpegEncContext * s, int mx, int my);
+int ff_msmpeg4_coded_block_pred(MpegEncContext * s, int n,
+ uint8_t **coded_block_ptr);
+int ff_msmpeg4_decode_motion(MpegEncContext * s, int *mx_ptr, int *my_ptr);
+int ff_msmpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
+ int n, int coded, const uint8_t *scan_table);
+int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
#define ENABLE_MSMPEG4_DECODER (ENABLE_MSMPEG4V1_DECODER || \
ENABLE_MSMPEG4V2_DECODER || \
Modified: trunk/libavcodec/wmv2.c
==============================================================================
--- trunk/libavcodec/wmv2.c (original)
+++ trunk/libavcodec/wmv2.c Thu Nov 8 00:41:39 2007
@@ -23,6 +23,11 @@
* wmv2 codec.
*/
+#include "avcodec.h"
+#include "dsputil.h"
+#include "mpegvideo.h"
+#include "msmpeg4.h"
+#include "msmpeg4data.h"
#include "simple_idct.h"
#define SKIP_TYPE_NONE 0
More information about the ffmpeg-cvslog
mailing list