]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/msmpeg4.h
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / msmpeg4.h
index 463c72fa491a4cf16aaf87da67b77e0a3993adec..abc414cfdd84a8225ea6d16e45879adf8aab636e 100644 (file)
 #ifndef AVCODEC_MSMPEG4_H
 #define AVCODEC_MSMPEG4_H
 
+#include <stdint.h>
+
 #include "config.h"
 #include "avcodec.h"
 #include "dsputil.h"
 #include "mpegvideo.h"
+#include "msmpeg4data.h"
+#include "put_bits.h"
 
 #define INTER_INTRA_VLC_BITS 3
 #define MB_NON_INTRA_VLC_BITS 9
 #define MB_INTRA_VLC_BITS 9
 
+#define II_BITRATE 128*1024
+#define MBAC_BITRATE 50*1024
+
+#define DC_MAX 119
+
 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_common_init(MpegEncContext *s);
 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);
@@ -43,6 +53,8 @@ int ff_msmpeg4_coded_block_pred(MpegEncContext * s, int n,
 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_msmpeg4_pred_dc(MpegEncContext *s, int n,
+                       int16_t **dc_val_ptr, int *dir_ptr);
 int ff_wmv2_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
 
 #define CONFIG_MSMPEG4_DECODER (CONFIG_MSMPEG4V1_DECODER || \