mirror of https://git.ffmpeg.org/ffmpeg.git
add some #ifdef CONFIG_ENCODERS/DECODERS
Originally committed as revision 6356 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
191e8ca752
commit
62bb489b13
|
@ -462,6 +462,7 @@ for(i=0; i<s->avctx->extradata_size; i++){
|
||||||
return (get_bits_count(&a->gb)+31)/32*4;
|
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){
|
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
|
||||||
ASV1Context * const a = avctx->priv_data;
|
ASV1Context * const a = avctx->priv_data;
|
||||||
AVFrame *pict = data;
|
AVFrame *pict = data;
|
||||||
|
@ -515,6 +516,7 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
||||||
|
|
||||||
return size*4;
|
return size*4;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static void common_init(AVCodecContext *avctx){
|
static void common_init(AVCodecContext *avctx){
|
||||||
ASV1Context * const a = avctx->priv_data;
|
ASV1Context * const a = avctx->priv_data;
|
||||||
|
@ -564,6 +566,7 @@ static int decode_init(AVCodecContext *avctx){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int encode_init(AVCodecContext *avctx){
|
static int encode_init(AVCodecContext *avctx){
|
||||||
ASV1Context * const a = avctx->priv_data;
|
ASV1Context * const a = avctx->priv_data;
|
||||||
int i;
|
int i;
|
||||||
|
@ -587,6 +590,7 @@ static int encode_init(AVCodecContext *avctx){
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int decode_end(AVCodecContext *avctx){
|
static int decode_end(AVCodecContext *avctx){
|
||||||
ASV1Context * const a = avctx->priv_data;
|
ASV1Context * const a = avctx->priv_data;
|
||||||
|
|
|
@ -1010,6 +1010,7 @@ static int dv_decode_mt(AVCodecContext *avctx, void* sl)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int dv_encode_mt(AVCodecContext *avctx, void* sl)
|
static int dv_encode_mt(AVCodecContext *avctx, void* sl)
|
||||||
{
|
{
|
||||||
DVVideoContext *s = avctx->priv_data;
|
DVVideoContext *s = avctx->priv_data;
|
||||||
|
@ -1028,7 +1029,9 @@ static int dv_encode_mt(AVCodecContext *avctx, void* sl)
|
||||||
&s->sys->video_place[slice*5]);
|
&s->sys->video_place[slice*5]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
/* NOTE: exactly one frame must be given (120000 bytes for NTSC,
|
/* NOTE: exactly one frame must be given (120000 bytes for NTSC,
|
||||||
144000 bytes for PAL - or twice those for 50Mbps) */
|
144000 bytes for PAL - or twice those for 50Mbps) */
|
||||||
static int dvvideo_decode_frame(AVCodecContext *avctx,
|
static int dvvideo_decode_frame(AVCodecContext *avctx,
|
||||||
|
@ -1068,6 +1071,7 @@ static int dvvideo_decode_frame(AVCodecContext *avctx,
|
||||||
|
|
||||||
return s->sys->frame_size;
|
return s->sys->frame_size;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static inline int dv_write_pack(enum dv_pack_type pack_id, DVVideoContext *c, uint8_t* buf)
|
static inline int dv_write_pack(enum dv_pack_type pack_id, DVVideoContext *c, uint8_t* buf)
|
||||||
|
@ -1242,6 +1246,7 @@ AVCodec dvvideo_encoder = {
|
||||||
};
|
};
|
||||||
#endif // CONFIG_DVVIDEO_ENCODER
|
#endif // CONFIG_DVVIDEO_ENCODER
|
||||||
|
|
||||||
|
#ifdef CONFIG_DVVIDEO_DECODER
|
||||||
AVCodec dvvideo_decoder = {
|
AVCodec dvvideo_decoder = {
|
||||||
"dvvideo",
|
"dvvideo",
|
||||||
CODEC_TYPE_VIDEO,
|
CODEC_TYPE_VIDEO,
|
||||||
|
@ -1254,3 +1259,4 @@ AVCodec dvvideo_decoder = {
|
||||||
CODEC_CAP_DR1,
|
CODEC_CAP_DR1,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
|
@ -354,6 +354,7 @@ static inline int get_vlc_symbol(GetBitContext *gb, VlcState * const state, int
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static inline int encode_line(FFV1Context *s, int w, int_fast16_t *sample[2], int plane_index, int bits){
|
static inline int encode_line(FFV1Context *s, int w, int_fast16_t *sample[2], int plane_index, int bits){
|
||||||
PlaneContext * const p= &s->plane[plane_index];
|
PlaneContext * const p= &s->plane[plane_index];
|
||||||
RangeCoder * const c= &s->c;
|
RangeCoder * const c= &s->c;
|
||||||
|
@ -527,6 +528,7 @@ static void write_header(FFV1Context *f){
|
||||||
for(i=0; i<5; i++)
|
for(i=0; i<5; i++)
|
||||||
write_quant_table(c, f->quant_table[i]);
|
write_quant_table(c, f->quant_table[i]);
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static int common_init(AVCodecContext *avctx){
|
static int common_init(AVCodecContext *avctx){
|
||||||
FFV1Context *s = avctx->priv_data;
|
FFV1Context *s = avctx->priv_data;
|
||||||
|
@ -545,6 +547,7 @@ static int common_init(AVCodecContext *avctx){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int encode_init(AVCodecContext *avctx)
|
static int encode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
FFV1Context *s = avctx->priv_data;
|
FFV1Context *s = avctx->priv_data;
|
||||||
|
@ -608,6 +611,7 @@ static int encode_init(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
|
|
||||||
static void clear_state(FFV1Context *f){
|
static void clear_state(FFV1Context *f){
|
||||||
|
@ -632,6 +636,7 @@ static void clear_state(FFV1Context *f){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
|
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
|
||||||
FFV1Context *f = avctx->priv_data;
|
FFV1Context *f = avctx->priv_data;
|
||||||
RangeCoder * const c= &f->c;
|
RangeCoder * const c= &f->c;
|
||||||
|
@ -687,6 +692,7 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
||||||
return used_count + (put_bits_count(&f->pb)+7)/8;
|
return used_count + (put_bits_count(&f->pb)+7)/8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static int common_end(AVCodecContext *avctx){
|
static int common_end(AVCodecContext *avctx){
|
||||||
FFV1Context *s = avctx->priv_data;
|
FFV1Context *s = avctx->priv_data;
|
||||||
|
|
|
@ -299,6 +299,7 @@ static int16_t g726_decode(G726Context* c, int16_t i)
|
||||||
return g726_iterate(c, i);
|
return g726_iterate(c, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int16_t g726_encode(G726Context* c, int16_t sig)
|
static int16_t g726_encode(G726Context* c, int16_t sig)
|
||||||
{
|
{
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
|
@ -307,6 +308,7 @@ static int16_t g726_encode(G726Context* c, int16_t sig)
|
||||||
g726_iterate(c, i);
|
g726_iterate(c, i);
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Interfacing to the libavcodec */
|
/* Interfacing to the libavcodec */
|
||||||
|
|
||||||
|
@ -350,6 +352,7 @@ static int g726_close(AVCodecContext *avctx)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int g726_encode_frame(AVCodecContext *avctx,
|
static int g726_encode_frame(AVCodecContext *avctx,
|
||||||
uint8_t *dst, int buf_size, void *data)
|
uint8_t *dst, int buf_size, void *data)
|
||||||
{
|
{
|
||||||
|
@ -366,6 +369,7 @@ static int g726_encode_frame(AVCodecContext *avctx,
|
||||||
|
|
||||||
return put_bits_count(&pb)>>3;
|
return put_bits_count(&pb)>>3;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int g726_decode_frame(AVCodecContext *avctx,
|
static int g726_decode_frame(AVCodecContext *avctx,
|
||||||
void *data, int *data_size,
|
void *data, int *data_size,
|
||||||
|
|
|
@ -60,6 +60,8 @@ static void h263p_encode_umotion(MpegEncContext * s, int val);
|
||||||
static inline void mpeg4_encode_block(MpegEncContext * s, DCTELEM * block,
|
static inline void mpeg4_encode_block(MpegEncContext * s, DCTELEM * block,
|
||||||
int n, int dc, uint8_t *scan_table,
|
int n, int dc, uint8_t *scan_table,
|
||||||
PutBitContext *dc_pb, PutBitContext *ac_pb);
|
PutBitContext *dc_pb, PutBitContext *ac_pb);
|
||||||
|
static int mpeg4_get_block_length(MpegEncContext * s, DCTELEM * block, int n, int intra_dc,
|
||||||
|
uint8_t *scan_table);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int h263_decode_motion(MpegEncContext * s, int pred, int fcode);
|
static int h263_decode_motion(MpegEncContext * s, int pred, int fcode);
|
||||||
|
@ -69,10 +71,8 @@ static int h263_decode_block(MpegEncContext * s, DCTELEM * block,
|
||||||
static inline int mpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr);
|
static inline int mpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr);
|
||||||
static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
|
static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
|
||||||
int n, int coded, int intra, int rvlc);
|
int n, int coded, int intra, int rvlc);
|
||||||
static int mpeg4_get_block_length(MpegEncContext * s, DCTELEM * block, int n, int intra_dc,
|
|
||||||
uint8_t *scan_table);
|
|
||||||
static int h263_pred_dc(MpegEncContext * s, int n, uint16_t **dc_val_ptr);
|
|
||||||
#ifdef CONFIG_ENCODERS
|
#ifdef CONFIG_ENCODERS
|
||||||
|
static int h263_pred_dc(MpegEncContext * s, int n, uint16_t **dc_val_ptr);
|
||||||
static void mpeg4_encode_visual_object_header(MpegEncContext * s);
|
static void mpeg4_encode_visual_object_header(MpegEncContext * s);
|
||||||
static void mpeg4_encode_vol_header(MpegEncContext * s, int vo_number, int vol_number);
|
static void mpeg4_encode_vol_header(MpegEncContext * s, int vo_number, int vol_number);
|
||||||
#endif //CONFIG_ENCODERS
|
#endif //CONFIG_ENCODERS
|
||||||
|
@ -1515,6 +1515,7 @@ void ff_h263_loop_filter(MpegEncContext * s){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int h263_pred_dc(MpegEncContext * s, int n, uint16_t **dc_val_ptr)
|
static int h263_pred_dc(MpegEncContext * s, int n, uint16_t **dc_val_ptr)
|
||||||
{
|
{
|
||||||
int x, y, wrap, a, c, pred_dc, scale;
|
int x, y, wrap, a, c, pred_dc, scale;
|
||||||
|
@ -1559,6 +1560,7 @@ static int h263_pred_dc(MpegEncContext * s, int n, uint16_t **dc_val_ptr)
|
||||||
*dc_val_ptr = &dc_val[x + y * wrap];
|
*dc_val_ptr = &dc_val[x + y * wrap];
|
||||||
return pred_dc;
|
return pred_dc;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static void h263_pred_acdc(MpegEncContext * s, DCTELEM *block, int n)
|
static void h263_pred_acdc(MpegEncContext * s, DCTELEM *block, int n)
|
||||||
{
|
{
|
||||||
|
|
|
@ -236,6 +236,7 @@ static int generate_bits_table(uint32_t *dst, uint8_t *len_table){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void generate_len_table(uint8_t *dst, uint64_t *stats, int size){
|
static void generate_len_table(uint8_t *dst, uint64_t *stats, int size){
|
||||||
uint64_t counts[2*size];
|
uint64_t counts[2*size];
|
||||||
int up[2*size];
|
int up[2*size];
|
||||||
|
@ -291,6 +292,7 @@ static void generate_len_table(uint8_t *dst, uint64_t *stats, int size){
|
||||||
if(i==size) break;
|
if(i==size) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static int read_huffman_tables(HYuvContext *s, uint8_t *src, int length){
|
static int read_huffman_tables(HYuvContext *s, uint8_t *src, int length){
|
||||||
GetBitContext gb;
|
GetBitContext gb;
|
||||||
|
@ -375,6 +377,7 @@ static int common_init(AVCodecContext *avctx){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
static int decode_init(AVCodecContext *avctx)
|
static int decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
HYuvContext *s = avctx->priv_data;
|
HYuvContext *s = avctx->priv_data;
|
||||||
|
@ -470,7 +473,9 @@ s->bgr32=1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int store_table(HYuvContext *s, uint8_t *len, uint8_t *buf){
|
static int store_table(HYuvContext *s, uint8_t *len, uint8_t *buf){
|
||||||
int i;
|
int i;
|
||||||
int index= 0;
|
int index= 0;
|
||||||
|
@ -612,6 +617,7 @@ static int encode_init(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static void decode_422_bitstream(HYuvContext *s, int count){
|
static void decode_422_bitstream(HYuvContext *s, int count){
|
||||||
int i;
|
int i;
|
||||||
|
@ -637,6 +643,7 @@ static void decode_gray_bitstream(HYuvContext *s, int count){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int encode_422_bitstream(HYuvContext *s, int count){
|
static int encode_422_bitstream(HYuvContext *s, int count){
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -711,6 +718,7 @@ static int encode_gray_bitstream(HYuvContext *s, int count){
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static void decode_bgr_bitstream(HYuvContext *s, int count){
|
static void decode_bgr_bitstream(HYuvContext *s, int count){
|
||||||
int i;
|
int i;
|
||||||
|
@ -748,6 +756,7 @@ static void decode_bgr_bitstream(HYuvContext *s, int count){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
static void draw_slice(HYuvContext *s, int y){
|
static void draw_slice(HYuvContext *s, int y){
|
||||||
int h, cy;
|
int h, cy;
|
||||||
int offset[4];
|
int offset[4];
|
||||||
|
@ -1014,6 +1023,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8
|
||||||
|
|
||||||
return (get_bits_count(&s->gb)+31)/32*4 + table_size;
|
return (get_bits_count(&s->gb)+31)/32*4 + table_size;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static int common_end(HYuvContext *s){
|
static int common_end(HYuvContext *s){
|
||||||
int i;
|
int i;
|
||||||
|
@ -1024,6 +1034,7 @@ static int common_end(HYuvContext *s){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
static int decode_end(AVCodecContext *avctx)
|
static int decode_end(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
HYuvContext *s = avctx->priv_data;
|
HYuvContext *s = avctx->priv_data;
|
||||||
|
@ -1038,7 +1049,9 @@ static int decode_end(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
|
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
|
||||||
HYuvContext *s = avctx->priv_data;
|
HYuvContext *s = avctx->priv_data;
|
||||||
AVFrame *pict = data;
|
AVFrame *pict = data;
|
||||||
|
@ -1218,7 +1231,9 @@ static int encode_end(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
AVCodec huffyuv_decoder = {
|
AVCodec huffyuv_decoder = {
|
||||||
"huffyuv",
|
"huffyuv",
|
||||||
CODEC_TYPE_VIDEO,
|
CODEC_TYPE_VIDEO,
|
||||||
|
@ -1244,6 +1259,7 @@ AVCodec ffvhuff_decoder = {
|
||||||
CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND,
|
CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ENCODERS
|
#ifdef CONFIG_ENCODERS
|
||||||
|
|
||||||
|
|
|
@ -2527,6 +2527,7 @@ static void gmc_mmx(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int o
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int try_8x8basis_mmx(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale){
|
static int try_8x8basis_mmx(int16_t rem[64], int16_t weight[64], int16_t basis[64], int scale){
|
||||||
long i=0;
|
long i=0;
|
||||||
|
|
||||||
|
@ -2612,6 +2613,7 @@ static void add_8x8basis_mmx(int16_t rem[64], int16_t basis[64], int scale){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
#define PREFETCH(name, op) \
|
#define PREFETCH(name, op) \
|
||||||
void name(void *mem, int stride, int h){\
|
void name(void *mem, int stride, int h){\
|
||||||
|
|
|
@ -190,7 +190,7 @@ static unsigned int mszh_decomp(unsigned char * srcptr, int srclen, unsigned cha
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Decode a frame
|
* Decode a frame
|
||||||
|
@ -544,9 +544,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8
|
||||||
/* always report that the buffer was completely consumed */
|
/* always report that the buffer was completely consumed */
|
||||||
return buf_size;
|
return buf_size;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Encode a frame
|
* Encode a frame
|
||||||
|
@ -605,9 +605,9 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
||||||
return c->zstream.total_out;
|
return c->zstream.total_out;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Init lcl decoder
|
* Init lcl decoder
|
||||||
|
@ -769,9 +769,9 @@ static int decode_init(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_DECODERS */
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Init lcl encoder
|
* Init lcl encoder
|
||||||
|
@ -839,11 +839,11 @@ static int encode_init(AVCodecContext *avctx)
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Uninit lcl decoder
|
* Uninit lcl decoder
|
||||||
|
@ -861,9 +861,9 @@ static int decode_end(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Uninit lcl encoder
|
* Uninit lcl encoder
|
||||||
|
@ -881,7 +881,9 @@ static int encode_end(AVCodecContext *avctx)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_MSZH_DECODER
|
||||||
AVCodec mszh_decoder = {
|
AVCodec mszh_decoder = {
|
||||||
"mszh",
|
"mszh",
|
||||||
CODEC_TYPE_VIDEO,
|
CODEC_TYPE_VIDEO,
|
||||||
|
@ -893,8 +895,9 @@ AVCodec mszh_decoder = {
|
||||||
decode_frame,
|
decode_frame,
|
||||||
CODEC_CAP_DR1,
|
CODEC_CAP_DR1,
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ZLIB_DECODER
|
||||||
AVCodec zlib_decoder = {
|
AVCodec zlib_decoder = {
|
||||||
"zlib",
|
"zlib",
|
||||||
CODEC_TYPE_VIDEO,
|
CODEC_TYPE_VIDEO,
|
||||||
|
@ -906,6 +909,7 @@ AVCodec zlib_decoder = {
|
||||||
decode_frame,
|
decode_frame,
|
||||||
CODEC_CAP_DR1,
|
CODEC_CAP_DR1,
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ENCODERS
|
#ifdef CONFIG_ENCODERS
|
||||||
|
|
||||||
|
|
|
@ -2579,7 +2579,7 @@ retry:
|
||||||
return buf_size;
|
return buf_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_MP3ADU_DECODER
|
||||||
static int decode_frame_adu(AVCodecContext * avctx,
|
static int decode_frame_adu(AVCodecContext * avctx,
|
||||||
void *data, int *data_size,
|
void *data, int *data_size,
|
||||||
uint8_t * buf, int buf_size)
|
uint8_t * buf, int buf_size)
|
||||||
|
@ -2627,8 +2627,9 @@ static int decode_frame_adu(AVCodecContext * avctx,
|
||||||
*data_size = out_size;
|
*data_size = out_size;
|
||||||
return buf_size;
|
return buf_size;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_MP3ADU_DECODER */
|
||||||
|
|
||||||
|
#ifdef CONFIG_MP3ON4_DECODER
|
||||||
/* Next 3 arrays are indexed by channel config number (passed via codecdata) */
|
/* Next 3 arrays are indexed by channel config number (passed via codecdata) */
|
||||||
static int mp3Frames[16] = {0,1,1,2,3,3,4,5,2}; /* number of mp3 decoder instances */
|
static int mp3Frames[16] = {0,1,1,2,3,3,4,5,2}; /* number of mp3 decoder instances */
|
||||||
static int mp3Channels[16] = {0,1,2,3,4,5,6,8,4}; /* total output channels */
|
static int mp3Channels[16] = {0,1,2,3,4,5,6,8,4}; /* total output channels */
|
||||||
|
@ -2785,8 +2786,9 @@ static int decode_frame_mp3on4(AVCodecContext * avctx,
|
||||||
*data_size = out_size;
|
*data_size = out_size;
|
||||||
return buf_size;
|
return buf_size;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_MP3ON4_DECODER */
|
||||||
|
|
||||||
|
#ifdef CONFIG_MP2_DECODER
|
||||||
AVCodec mp2_decoder =
|
AVCodec mp2_decoder =
|
||||||
{
|
{
|
||||||
"mp2",
|
"mp2",
|
||||||
|
@ -2799,7 +2801,8 @@ AVCodec mp2_decoder =
|
||||||
decode_frame,
|
decode_frame,
|
||||||
CODEC_CAP_PARSE_ONLY,
|
CODEC_CAP_PARSE_ONLY,
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_MP3_DECODER
|
||||||
AVCodec mp3_decoder =
|
AVCodec mp3_decoder =
|
||||||
{
|
{
|
||||||
"mp3",
|
"mp3",
|
||||||
|
@ -2812,7 +2815,8 @@ AVCodec mp3_decoder =
|
||||||
decode_frame,
|
decode_frame,
|
||||||
CODEC_CAP_PARSE_ONLY,
|
CODEC_CAP_PARSE_ONLY,
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_MP3ADU_DECODER
|
||||||
AVCodec mp3adu_decoder =
|
AVCodec mp3adu_decoder =
|
||||||
{
|
{
|
||||||
"mp3adu",
|
"mp3adu",
|
||||||
|
@ -2825,7 +2829,8 @@ AVCodec mp3adu_decoder =
|
||||||
decode_frame_adu,
|
decode_frame_adu,
|
||||||
CODEC_CAP_PARSE_ONLY,
|
CODEC_CAP_PARSE_ONLY,
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_MP3ON4_DECODER
|
||||||
AVCodec mp3on4_decoder =
|
AVCodec mp3on4_decoder =
|
||||||
{
|
{
|
||||||
"mp3on4",
|
"mp3on4",
|
||||||
|
@ -2838,3 +2843,4 @@ AVCodec mp3on4_decoder =
|
||||||
decode_frame_mp3on4,
|
decode_frame_mp3on4,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
|
@ -326,6 +326,7 @@ static void copy_picture(Picture *dst, Picture *src){
|
||||||
dst->type= FF_BUFFER_TYPE_COPY;
|
dst->type= FF_BUFFER_TYPE_COPY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void copy_picture_attributes(MpegEncContext *s, AVFrame *dst, AVFrame *src){
|
static void copy_picture_attributes(MpegEncContext *s, AVFrame *dst, AVFrame *src){
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -364,6 +365,7 @@ static void copy_picture_attributes(MpegEncContext *s, AVFrame *dst, AVFrame *sr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* allocates a Picture
|
* allocates a Picture
|
||||||
|
@ -565,6 +567,7 @@ void ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src){
|
||||||
//STOP_TIMER("update_duplicate_context") //about 10k cycles / 0.01 sec for 1000frames on 1ghz with 2 threads
|
//STOP_TIMER("update_duplicate_context") //about 10k cycles / 0.01 sec for 1000frames on 1ghz with 2 threads
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void update_duplicate_context_after_me(MpegEncContext *dst, MpegEncContext *src){
|
static void update_duplicate_context_after_me(MpegEncContext *dst, MpegEncContext *src){
|
||||||
#define COPY(a) dst->a= src->a
|
#define COPY(a) dst->a= src->a
|
||||||
COPY(pict_type);
|
COPY(pict_type);
|
||||||
|
@ -581,6 +584,7 @@ static void update_duplicate_context_after_me(MpegEncContext *dst, MpegEncContex
|
||||||
COPY(partitioned_frame); //FIXME don't set in encode_header
|
COPY(partitioned_frame); //FIXME don't set in encode_header
|
||||||
#undef COPY
|
#undef COPY
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sets the given MpegEncContext to common defaults (same for encoding and decoding).
|
* sets the given MpegEncContext to common defaults (same for encoding and decoding).
|
||||||
|
@ -5707,8 +5711,6 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
||||||
emms_c();
|
emms_c();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //CONFIG_ENCODERS
|
|
||||||
|
|
||||||
static void denoise_dct_c(MpegEncContext *s, DCTELEM *block){
|
static void denoise_dct_c(MpegEncContext *s, DCTELEM *block){
|
||||||
const int intra= s->mb_intra;
|
const int intra= s->mb_intra;
|
||||||
int i;
|
int i;
|
||||||
|
@ -5733,8 +5735,6 @@ static void denoise_dct_c(MpegEncContext *s, DCTELEM *block){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_ENCODERS
|
|
||||||
|
|
||||||
static int dct_quantize_trellis_c(MpegEncContext *s,
|
static int dct_quantize_trellis_c(MpegEncContext *s,
|
||||||
DCTELEM *block, int n,
|
DCTELEM *block, int n,
|
||||||
int qscale, int *overflow){
|
int qscale, int *overflow){
|
||||||
|
|
|
@ -65,10 +65,10 @@ static inline int msmpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
|
||||||
static int msmpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr);
|
static int msmpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr);
|
||||||
static int msmpeg4_decode_motion(MpegEncContext * s,
|
static int msmpeg4_decode_motion(MpegEncContext * s,
|
||||||
int *mx_ptr, int *my_ptr);
|
int *mx_ptr, int *my_ptr);
|
||||||
static void msmpeg4v2_encode_motion(MpegEncContext * s, int val);
|
|
||||||
static void init_h263_dc_for_msmpeg4(void);
|
static void init_h263_dc_for_msmpeg4(void);
|
||||||
static inline void msmpeg4_memsetw(short *tab, int val, int n);
|
static inline void msmpeg4_memsetw(short *tab, int val, int n);
|
||||||
#ifdef CONFIG_ENCODERS
|
#ifdef CONFIG_ENCODERS
|
||||||
|
static void msmpeg4v2_encode_motion(MpegEncContext * s, int val);
|
||||||
static int get_size_of_code(MpegEncContext * s, RLTable *rl, int last, int run, int level, int intra);
|
static int get_size_of_code(MpegEncContext * s, RLTable *rl, int last, int run, int level, int intra);
|
||||||
#endif //CONFIG_ENCODERS
|
#endif //CONFIG_ENCODERS
|
||||||
static int msmpeg4v12_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
|
static int msmpeg4v12_decode_mb(MpegEncContext *s, DCTELEM block[6][64]);
|
||||||
|
@ -1343,6 +1343,7 @@ static inline void msmpeg4_memsetw(short *tab, int val, int n)
|
||||||
tab[i] = val;
|
tab[i] = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void msmpeg4v2_encode_motion(MpegEncContext * s, int val)
|
static void msmpeg4v2_encode_motion(MpegEncContext * s, int val)
|
||||||
{
|
{
|
||||||
int range, bit_size, sign, code, bits;
|
int range, bit_size, sign, code, bits;
|
||||||
|
@ -1375,6 +1376,7 @@ static void msmpeg4v2_encode_motion(MpegEncContext * s, int val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* this is identical to h263 except that its range is multiplied by 2 */
|
/* 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)
|
static int msmpeg4v2_decode_motion(MpegEncContext * s, int pred, int f_code)
|
||||||
|
|
|
@ -90,12 +90,14 @@ static unsigned int get32(uint8_t **b){
|
||||||
return ((*b)[-4]<<24) + ((*b)[-3]<<16) + ((*b)[-2]<<8) + (*b)[-1];
|
return ((*b)[-4]<<24) + ((*b)[-3]<<16) + ((*b)[-2]<<8) + (*b)[-1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void put32(uint8_t **b, unsigned int v){
|
static void put32(uint8_t **b, unsigned int v){
|
||||||
*(*b)++= v>>24;
|
*(*b)++= v>>24;
|
||||||
*(*b)++= v>>16;
|
*(*b)++= v>>16;
|
||||||
*(*b)++= v>>8;
|
*(*b)++= v>>8;
|
||||||
*(*b)++= v;
|
*(*b)++= v;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static const uint8_t pngsig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
|
static const uint8_t pngsig[8] = {137, 80, 78, 71, 13, 10, 26, 10};
|
||||||
|
|
||||||
|
@ -233,6 +235,7 @@ static void png_put_interlaced_row(uint8_t *dst, int width,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void png_get_interlaced_row(uint8_t *dst, int row_size,
|
static void png_get_interlaced_row(uint8_t *dst, int row_size,
|
||||||
int bits_per_pixel, int pass,
|
int bits_per_pixel, int pass,
|
||||||
const uint8_t *src, int width)
|
const uint8_t *src, int width)
|
||||||
|
@ -270,6 +273,7 @@ static void png_get_interlaced_row(uint8_t *dst, int row_size,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* XXX: optimize */
|
/* XXX: optimize */
|
||||||
/* NOTE: 'dst' can be equal to 'last' */
|
/* NOTE: 'dst' can be equal to 'last' */
|
||||||
|
@ -338,6 +342,7 @@ static void png_filter_row(uint8_t *dst, int filter_type,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void convert_from_rgba32(uint8_t *dst, const uint8_t *src, int width)
|
static void convert_from_rgba32(uint8_t *dst, const uint8_t *src, int width)
|
||||||
{
|
{
|
||||||
uint8_t *d;
|
uint8_t *d;
|
||||||
|
@ -354,7 +359,9 @@ static void convert_from_rgba32(uint8_t *dst, const uint8_t *src, int width)
|
||||||
d += 4;
|
d += 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
static void convert_to_rgba32(uint8_t *dst, const uint8_t *src, int width)
|
static void convert_to_rgba32(uint8_t *dst, const uint8_t *src, int width)
|
||||||
{
|
{
|
||||||
int j;
|
int j;
|
||||||
|
@ -684,7 +691,9 @@ static int decode_frame(AVCodecContext *avctx,
|
||||||
ret = -1;
|
ret = -1;
|
||||||
goto the_end;
|
goto the_end;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void png_write_chunk(uint8_t **f, uint32_t tag,
|
static void png_write_chunk(uint8_t **f, uint32_t tag,
|
||||||
const uint8_t *buf, int length)
|
const uint8_t *buf, int length)
|
||||||
{
|
{
|
||||||
|
@ -736,6 +745,7 @@ static int png_write_row(PNGContext *s, const uint8_t *data, int size)
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static int common_init(AVCodecContext *avctx){
|
static int common_init(AVCodecContext *avctx){
|
||||||
PNGContext *s = avctx->priv_data;
|
PNGContext *s = avctx->priv_data;
|
||||||
|
@ -747,6 +757,7 @@ static int common_init(AVCodecContext *avctx){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
|
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){
|
||||||
PNGContext *s = avctx->priv_data;
|
PNGContext *s = avctx->priv_data;
|
||||||
AVFrame *pict = data;
|
AVFrame *pict = data;
|
||||||
|
@ -920,7 +931,9 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
||||||
ret = -1;
|
ret = -1;
|
||||||
goto the_end;
|
goto the_end;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_PNG_DECODER
|
||||||
AVCodec png_decoder = {
|
AVCodec png_decoder = {
|
||||||
"png",
|
"png",
|
||||||
CODEC_TYPE_VIDEO,
|
CODEC_TYPE_VIDEO,
|
||||||
|
@ -933,6 +946,7 @@ AVCodec png_decoder = {
|
||||||
0 /*CODEC_CAP_DR1*/ /*| CODEC_CAP_DRAW_HORIZ_BAND*/,
|
0 /*CODEC_CAP_DR1*/ /*| CODEC_CAP_DRAW_HORIZ_BAND*/,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_PNG_ENCODER
|
#ifdef CONFIG_PNG_ENCODER
|
||||||
AVCodec png_encoder = {
|
AVCodec png_encoder = {
|
||||||
|
|
|
@ -164,7 +164,7 @@ static int raw_close_decoder(AVCodecContext *avctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* RAW Encoder Implementation */
|
/* RAW Encoder Implementation */
|
||||||
|
#ifdef CONFIG_RAWVIDEO_ENCODER
|
||||||
static int raw_init_encoder(AVCodecContext *avctx)
|
static int raw_init_encoder(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
avctx->coded_frame = (AVFrame *)avctx->priv_data;
|
avctx->coded_frame = (AVFrame *)avctx->priv_data;
|
||||||
|
@ -182,7 +182,6 @@ static int raw_encode(AVCodecContext *avctx,
|
||||||
avctx->height, frame, buf_size);
|
avctx->height, frame, buf_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_RAWVIDEO_ENCODER
|
|
||||||
AVCodec rawvideo_encoder = {
|
AVCodec rawvideo_encoder = {
|
||||||
"rawvideo",
|
"rawvideo",
|
||||||
CODEC_TYPE_VIDEO,
|
CODEC_TYPE_VIDEO,
|
||||||
|
|
|
@ -406,6 +406,7 @@ static int predictor_calc_error(int *k, int *state, int order, int error)
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
// Heavily modified Levinson-Durbin algorithm which
|
// Heavily modified Levinson-Durbin algorithm which
|
||||||
// copes better with quantization, and calculates the
|
// copes better with quantization, and calculates the
|
||||||
// actual whitened result as it goes.
|
// actual whitened result as it goes.
|
||||||
|
@ -476,6 +477,7 @@ static void modified_levinson_durbin(int *window, int window_entries,
|
||||||
|
|
||||||
av_free(state);
|
av_free(state);
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_ENCODERS */
|
||||||
|
|
||||||
static int samplerate_table[] =
|
static int samplerate_table[] =
|
||||||
{ 44100, 22050, 11025, 96000, 48000, 32000, 24000, 16000, 8000 };
|
{ 44100, 22050, 11025, 96000, 48000, 32000, 24000, 16000, 8000 };
|
||||||
|
@ -746,6 +748,7 @@ static int sonic_encode_frame(AVCodecContext *avctx,
|
||||||
}
|
}
|
||||||
#endif //CONFIG_ENCODERS
|
#endif //CONFIG_ENCODERS
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
static int sonic_decode_init(AVCodecContext *avctx)
|
static int sonic_decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
SonicContext *s = avctx->priv_data;
|
SonicContext *s = avctx->priv_data;
|
||||||
|
@ -936,6 +939,7 @@ static int sonic_decode_frame(AVCodecContext *avctx,
|
||||||
|
|
||||||
return (get_bits_count(&gb)+7)/8;
|
return (get_bits_count(&gb)+7)/8;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ENCODERS
|
#ifdef CONFIG_ENCODERS
|
||||||
AVCodec sonic_encoder = {
|
AVCodec sonic_encoder = {
|
||||||
|
|
|
@ -617,6 +617,7 @@ static uint16_t svq1_component_checksum (uint16_t *pixels, int pitch,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
static void svq1_parse_string (GetBitContext *bitbuf, uint8_t *out) {
|
static void svq1_parse_string (GetBitContext *bitbuf, uint8_t *out) {
|
||||||
uint8_t seed;
|
uint8_t seed;
|
||||||
int i;
|
int i;
|
||||||
|
@ -879,7 +880,9 @@ static int svq1_decode_end(AVCodecContext *avctx)
|
||||||
MPV_common_end(s);
|
MPV_common_end(s);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_DECODERS */
|
||||||
|
|
||||||
|
#ifdef CONFIG_ENCODERS
|
||||||
static void svq1_write_header(SVQ1Context *s, int frame_type)
|
static void svq1_write_header(SVQ1Context *s, int frame_type)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -1081,7 +1084,6 @@ static int encode_block(SVQ1Context *s, uint8_t *src, uint8_t *ref, uint8_t *dec
|
||||||
return best_score;
|
return best_score;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_ENCODERS
|
|
||||||
|
|
||||||
static int svq1_encode_plane(SVQ1Context *s, int plane, unsigned char *src_plane, unsigned char *ref_plane, unsigned char *decoded_plane,
|
static int svq1_encode_plane(SVQ1Context *s, int plane, unsigned char *src_plane, unsigned char *ref_plane, unsigned char *decoded_plane,
|
||||||
int width, int height, int src_stride, int stride)
|
int width, int height, int src_stride, int stride)
|
||||||
|
@ -1395,6 +1397,7 @@ static int svq1_encode_end(AVCodecContext *avctx)
|
||||||
|
|
||||||
#endif //CONFIG_ENCODERS
|
#endif //CONFIG_ENCODERS
|
||||||
|
|
||||||
|
#ifdef CONFIG_DECODERS
|
||||||
AVCodec svq1_decoder = {
|
AVCodec svq1_decoder = {
|
||||||
"svq1",
|
"svq1",
|
||||||
CODEC_TYPE_VIDEO,
|
CODEC_TYPE_VIDEO,
|
||||||
|
@ -1408,6 +1411,7 @@ AVCodec svq1_decoder = {
|
||||||
.flush= ff_mpeg_flush,
|
.flush= ff_mpeg_flush,
|
||||||
.pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV410P, -1},
|
.pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV410P, -1},
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_ENCODERS
|
#ifdef CONFIG_ENCODERS
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue