Originally committed as revision 1984 to svn://svn.ffmpeg.org/ffmpeg/trunktags/v0.5
@@ -95,8 +95,6 @@ static inline int get_level(GetBitContext *gb){ | |||
else return code - 3; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static inline void put_level(PutBitContext *pb, int level){ | |||
unsigned int index= level + 3; | |||
@@ -107,8 +105,6 @@ static inline void put_level(PutBitContext *pb, int level){ | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static inline int decode_block(ASV1Context *a, DCTELEM block[64]){ | |||
int i; | |||
@@ -134,8 +130,6 @@ static inline int decode_block(ASV1Context *a, DCTELEM block[64]){ | |||
return 0; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static inline void encode_block(ASV1Context *a, DCTELEM block[64]){ | |||
int i; | |||
int nc_count=0; | |||
@@ -169,8 +163,6 @@ static inline void encode_block(ASV1Context *a, DCTELEM block[64]){ | |||
put_bits(&a->pb, ccp_tab[16][1], ccp_tab[16][0]); | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static inline int decode_mb(ASV1Context *a, DCTELEM block[6][64]){ | |||
int i; | |||
@@ -183,8 +175,6 @@ static inline int decode_mb(ASV1Context *a, DCTELEM block[6][64]){ | |||
return 0; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static inline void encode_mb(ASV1Context *a, DCTELEM block[6][64]){ | |||
int i; | |||
@@ -192,8 +182,6 @@ static inline void encode_mb(ASV1Context *a, DCTELEM block[6][64]){ | |||
encode_block(a, block[i]); | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static inline void idct_put(ASV1Context *a, int mb_x, int mb_y){ | |||
DCTELEM (*block)[64]= a->block; | |||
@@ -214,8 +202,6 @@ static inline void idct_put(ASV1Context *a, int mb_x, int mb_y){ | |||
} | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static inline void dct_get(ASV1Context *a, int mb_x, int mb_y){ | |||
DCTELEM (*block)[64]= a->block; | |||
int linesize= a->picture.linesize[0]; | |||
@@ -240,8 +226,6 @@ static inline void dct_get(ASV1Context *a, int mb_x, int mb_y){ | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static int decode_frame(AVCodecContext *avctx, | |||
void *data, int *data_size, | |||
uint8_t *buf, int buf_size) | |||
@@ -324,8 +308,6 @@ for(i=0; i<s->avctx->extradata_size; i++){ | |||
return (get_bits_count(&a->gb)+31)/32*4; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){ | |||
ASV1Context * const a = avctx->priv_data; | |||
AVFrame *pict = data; | |||
@@ -374,8 +356,6 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, | |||
return size*4; | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static void common_init(AVCodecContext *avctx){ | |||
ASV1Context * const a = avctx->priv_data; | |||
@@ -416,8 +396,6 @@ static int decode_init(AVCodecContext *avctx){ | |||
return 0; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static int encode_init(AVCodecContext *avctx){ | |||
ASV1Context * const a = avctx->priv_data; | |||
int i; | |||
@@ -441,8 +419,6 @@ static int encode_init(AVCodecContext *avctx){ | |||
return 0; | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static int decode_end(AVCodecContext *avctx){ | |||
ASV1Context * const a = avctx->priv_data; | |||
@@ -905,6 +905,7 @@ AVCodec ffv1_decoder = { | |||
NULL | |||
}; | |||
#ifdef CONFIG_ENCODERS | |||
AVCodec ffv1_encoder = { | |||
"ffv1", | |||
CODEC_TYPE_VIDEO, | |||
@@ -914,3 +915,4 @@ AVCodec ffv1_encoder = { | |||
encode_frame, | |||
encode_end, | |||
}; | |||
#endif |
@@ -153,7 +153,6 @@ static inline void add_median_prediction(uint8_t *dst, uint8_t *src1, uint8_t *d | |||
*left_top= lt; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
//FIXME optimize | |||
static inline void sub_median_prediction(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top){ | |||
int i; | |||
@@ -173,8 +172,6 @@ static inline void sub_median_prediction(uint8_t *dst, uint8_t *src1, uint8_t *s | |||
*left_top= lt; | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static inline void add_left_prediction_bgr32(uint8_t *dst, uint8_t *src, int w, int *red, int *green, int *blue){ | |||
int i; | |||
int r,g,b; | |||
@@ -197,7 +194,6 @@ static inline void add_left_prediction_bgr32(uint8_t *dst, uint8_t *src, int w, | |||
*blue= b; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static inline int sub_left_prediction(HYuvContext *s, uint8_t *dst, uint8_t *src, int w, int left){ | |||
int i; | |||
if(w<32){ | |||
@@ -217,7 +213,7 @@ static inline int sub_left_prediction(HYuvContext *s, uint8_t *dst, uint8_t *src | |||
return src[w-1]; | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static void read_len_table(uint8_t *dst, GetBitContext *gb){ | |||
int i, val, repeat; | |||
@@ -250,8 +246,6 @@ static int generate_bits_table(uint32_t *dst, uint8_t *len_table){ | |||
return 0; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static void generate_len_table(uint8_t *dst, uint64_t *stats, int size){ | |||
uint64_t counts[2*size]; | |||
int up[2*size]; | |||
@@ -308,8 +302,6 @@ static void generate_len_table(uint8_t *dst, uint64_t *stats, int size){ | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static int read_huffman_tables(HYuvContext *s, uint8_t *src, int length){ | |||
GetBitContext gb; | |||
int i; | |||
@@ -460,8 +452,6 @@ s->bgr32=1; | |||
return 0; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static void store_table(HYuvContext *s, uint8_t *len){ | |||
int i; | |||
int index= s->avctx->extradata_size; | |||
@@ -583,8 +573,6 @@ static int encode_init(AVCodecContext *avctx) | |||
return 0; | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static void decode_422_bitstream(HYuvContext *s, int count){ | |||
int i; | |||
@@ -609,8 +597,6 @@ static void decode_gray_bitstream(HYuvContext *s, int count){ | |||
} | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static void encode_422_bitstream(HYuvContext *s, int count){ | |||
int i; | |||
@@ -649,8 +635,6 @@ static void encode_gray_bitstream(HYuvContext *s, int count){ | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
static void decode_bgr_bitstream(HYuvContext *s, int count){ | |||
int i; | |||
@@ -961,8 +945,6 @@ static int decode_end(AVCodecContext *avctx) | |||
return 0; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){ | |||
HYuvContext *s = avctx->priv_data; | |||
AVFrame *pict = data; | |||
@@ -1130,8 +1112,6 @@ static const AVOption huffyuv_options[] = | |||
AVOPTION_END() | |||
}; | |||
#endif //CONFIG_ENCODERS | |||
AVCodec huffyuv_decoder = { | |||
"huffyuv", | |||
CODEC_TYPE_VIDEO, | |||
@@ -292,6 +292,7 @@ void mjpeg_close(MpegEncContext *s) | |||
case 7: ret= (left + top)>>1; break;\ | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static inline void put_marker(PutBitContext *p, int code) | |||
{ | |||
put_bits(p, 8, 0xff); | |||
@@ -575,7 +576,7 @@ static inline void mjpeg_encode_dc(MpegEncContext *s, int val, | |||
mant--; | |||
} | |||
nbits= av_log2(val) + 1; | |||
nbits= av_log2_16bit(val) + 1; | |||
put_bits(&s->pb, huff_size[nbits], huff_code[nbits]); | |||
@@ -789,6 +790,7 @@ static int encode_picture_lossless(AVCodecContext *avctx, unsigned char *buf, in | |||
// return (get_bit_count(&f->pb)+7)/8; | |||
} | |||
#endif //CONFIG_ENCODERS | |||
/******************************************/ | |||
/* decoding */ | |||
@@ -2038,6 +2040,7 @@ AVCodec mjpegb_decoder = { | |||
NULL | |||
}; | |||
#ifdef CONFIG_ENCODERS | |||
AVCodec ljpeg_encoder = { //FIXME avoid MPV_* lossless jpeg shouldnt need them | |||
"ljpeg", | |||
CODEC_TYPE_VIDEO, | |||
@@ -2047,3 +2050,4 @@ AVCodec ljpeg_encoder = { //FIXME avoid MPV_* lossless jpeg shouldnt need them | |||
encode_picture_lossless, | |||
MPV_encode_end, | |||
}; | |||
#endif |
@@ -73,6 +73,13 @@ static uint8_t fcode_tab[MAX_MV*2+1]; | |||
static uint32_t uni_mpeg1_ac_vlc_bits[64*64*2]; | |||
static uint8_t uni_mpeg1_ac_vlc_len [64*64*2]; | |||
/* simple include everything table for dc, first byte is bits number next 3 are code*/ | |||
static uint32_t mpeg1_lum_dc_uni[512]; | |||
static uint32_t mpeg1_chr_dc_uni[512]; | |||
static uint8_t mpeg1_index_run[2][64]; | |||
static int8_t mpeg1_max_level[2][64]; | |||
#endif | |||
static void init_2d_vlc_rl(RLTable *rl) | |||
@@ -114,6 +121,7 @@ static void init_2d_vlc_rl(RLTable *rl) | |||
} | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static void init_uni_ac_vlc(RLTable *rl, uint32_t *uni_ac_vlc_bits, uint8_t *uni_ac_vlc_len){ | |||
int i; | |||
@@ -309,6 +317,7 @@ static void mpeg1_skip_picture(MpegEncContext *s, int pict_num) | |||
put_bits(&s->pb, 1, 1); | |||
put_bits(&s->pb, 1, 1); | |||
} | |||
#endif | |||
static void common_init(MpegEncContext *s) | |||
{ | |||
@@ -316,6 +325,13 @@ static void common_init(MpegEncContext *s) | |||
s->c_dc_scale_table= ff_mpeg1_dc_scale_table; | |||
} | |||
void ff_mpeg1_clean_buffers(MpegEncContext *s){ | |||
s->last_dc[0] = 1 << (7 + s->intra_dc_precision); | |||
s->last_dc[1] = s->last_dc[0]; | |||
s->last_dc[2] = s->last_dc[0]; | |||
memset(s->last_mv, 0, sizeof(s->last_mv)); | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
void ff_mpeg1_encode_slice_header(MpegEncContext *s){ | |||
@@ -324,13 +340,6 @@ void ff_mpeg1_encode_slice_header(MpegEncContext *s){ | |||
put_bits(&s->pb, 1, 0); /* slice extra information */ | |||
} | |||
void ff_mpeg1_clean_buffers(MpegEncContext *s){ | |||
s->last_dc[0] = 1 << (7 + s->intra_dc_precision); | |||
s->last_dc[1] = s->last_dc[0]; | |||
s->last_dc[2] = s->last_dc[0]; | |||
memset(s->last_mv, 0, sizeof(s->last_mv)); | |||
} | |||
void mpeg1_encode_picture_header(MpegEncContext *s, int picture_number) | |||
{ | |||
mpeg1_encode_sequence_header(s); | |||
@@ -25,7 +25,7 @@ const int16_t ff_mpeg1_default_non_intra_matrix[64] = { | |||
16, 16, 16, 16, 16, 16, 16, 16, | |||
}; | |||
const unsigned char vlc_dc_table[256] = { | |||
static const unsigned char vlc_dc_table[256] = { | |||
0, 1, 2, 2, | |||
3, 3, 3, 3, | |||
4, 4, 4, 4, 4, 4, 4, 4, | |||
@@ -48,10 +48,10 @@ const unsigned char vlc_dc_table[256] = { | |||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, | |||
}; | |||
const uint16_t vlc_dc_lum_code[12] = { | |||
static const uint16_t vlc_dc_lum_code[12] = { | |||
0x4, 0x0, 0x1, 0x5, 0x6, 0xe, 0x1e, 0x3e, 0x7e, 0xfe, 0x1fe, 0x1ff, | |||
}; | |||
const unsigned char vlc_dc_lum_bits[12] = { | |||
static const unsigned char vlc_dc_lum_bits[12] = { | |||
3, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 9, | |||
}; | |||
@@ -62,10 +62,6 @@ const unsigned char vlc_dc_chroma_bits[12] = { | |||
2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, | |||
}; | |||
/* simple include everything table for dc, first byte is bits number next 3 are code*/ | |||
static uint32_t mpeg1_lum_dc_uni[512]; | |||
static uint32_t mpeg1_chr_dc_uni[512]; | |||
static const uint16_t mpeg1_vlc[113][2] = { | |||
{ 0x3, 2 }, { 0x4, 4 }, { 0x5, 5 }, { 0x6, 7 }, | |||
{ 0x26, 8 }, { 0x21, 8 }, { 0xa, 10 }, { 0x1d, 12 }, | |||
@@ -166,9 +162,6 @@ static const int8_t mpeg1_run[111] = { | |||
25, 26, 27, 28, 29, 30, 31, | |||
}; | |||
static uint8_t mpeg1_index_run[2][64]; | |||
static int8_t mpeg1_max_level[2][64]; | |||
static RLTable rl_mpeg1 = { | |||
111, | |||
111, | |||
@@ -58,17 +58,13 @@ | |||
static uint32_t v2_dc_lum_table[512][2]; | |||
static uint32_t v2_dc_chroma_table[512][2]; | |||
#ifdef CONFIG_ENCODERS | |||
static inline void msmpeg4_encode_block(MpegEncContext * s, DCTELEM * block, int n); | |||
#endif //CONFIG_ENCODERS | |||
static inline int 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); | |||
static int msmpeg4_decode_motion(MpegEncContext * s, | |||
int *mx_ptr, int *my_ptr); | |||
#ifdef CONFIG_ENCODERS | |||
static void msmpeg4v2_encode_motion(MpegEncContext * s, int val); | |||
#endif //CONFIG_ENCODERS | |||
static void init_h263_dc_for_msmpeg4(void); | |||
static inline void msmpeg4_memsetw(short *tab, int val, int n); | |||
#ifdef CONFIG_ENCODERS | |||
@@ -86,7 +82,9 @@ int frame_count = 0; | |||
#include "msmpeg4data.h" | |||
#ifdef CONFIG_ENCODERS //strangely gcc includes this even if its not references | |||
static uint8_t rl_length[NB_RL_TABLES][MAX_LEVEL+1][MAX_RUN+1][2]; | |||
#endif //CONFIG_ENCODERS | |||
#ifdef STATS | |||
@@ -850,8 +848,6 @@ static inline int msmpeg4_pred_dc(MpegEncContext * s, int n, | |||
#define DC_MAX 119 | |||
#ifdef CONFIG_ENCODERS | |||
static void msmpeg4_encode_dc(MpegEncContext * s, int level, int n, int *dir_ptr) | |||
{ | |||
int sign, code; | |||
@@ -1044,8 +1040,6 @@ else | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
/****************************************/ | |||
/* decoding stuff */ | |||
@@ -1428,8 +1422,6 @@ static inline void msmpeg4_memsetw(short *tab, int val, int n) | |||
tab[i] = val; | |||
} | |||
#ifdef CONFIG_ENCODERS | |||
static void msmpeg4v2_encode_motion(MpegEncContext * s, int val) | |||
{ | |||
int range, bit_size, sign, code, bits; | |||
@@ -1463,8 +1455,6 @@ static void msmpeg4v2_encode_motion(MpegEncContext * s, int val) | |||
} | |||
} | |||
#endif //CONFIG_ENCODERS | |||
/* this is identical to h263 except that its range is multiplied by 2 */ | |||
static int msmpeg4v2_decode_motion(MpegEncContext * s, int pred, int f_code) | |||
{ | |||