diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2003-07-05 14:18:07 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2003-07-05 14:18:07 +0000 |
commit | 27fc5352d01f48d4b3aa059486cc126823a8d393 (patch) | |
tree | 2ebf4b50210114189ed4785ff0fbcaafc2d32031 /libavcodec/ffv1.c | |
parent | 147e5200ca1d9ab09867c22b235aff5981799711 (diff) | |
download | ffmpeg-27fc5352d01f48d4b3aa059486cc126823a8d393.tar.gz |
merge U and V statistics, 33% reduction in memory requirement, compression rate better for some files worse for others, worst compression rate loss 0.05%
Originally committed as revision 2015 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/ffv1.c')
-rw-r--r-- | libavcodec/ffv1.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/ffv1.c b/libavcodec/ffv1.c index 1b505c22cc..7e6f18e7a3 100644 --- a/libavcodec/ffv1.c +++ b/libavcodec/ffv1.c @@ -487,7 +487,7 @@ static int encode_init(AVCodecContext *avctx) s->version=0; s->ac= avctx->coder_type; - s->plane_count=3; + s->plane_count=2; for(i=0; i<256; i++){ s->quant_table[0][i]= quant11[i]; s->quant_table[1][i]= 11*quant11[i]; @@ -606,7 +606,7 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, encode_plane(f, p->data[0], width, height, p->linesize[0], 0); encode_plane(f, p->data[1], chroma_width, chroma_height, p->linesize[1], 1); - encode_plane(f, p->data[2], chroma_width, chroma_height, p->linesize[2], 2); + encode_plane(f, p->data[2], chroma_width, chroma_height, p->linesize[2], 1); } emms_c(); @@ -751,7 +751,7 @@ static int read_header(FFV1Context *f){ f->chroma_h_shift= get_symbol(c, state, 0, 7); f->chroma_v_shift= get_symbol(c, state, 0, 7); get_cabac(c, state); //transparency plane - f->plane_count= 3; + f->plane_count= 2; switch(16*f->chroma_h_shift + f->chroma_v_shift){ case 0x00: f->avctx->pix_fmt= PIX_FMT_YUV444P; break; @@ -870,7 +870,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8 decode_plane(f, p->data[0], width, height, p->linesize[0], 0); decode_plane(f, p->data[1], chroma_width, chroma_height, p->linesize[1], 1); - decode_plane(f, p->data[2], chroma_width, chroma_height, p->linesize[2], 2); + decode_plane(f, p->data[2], chroma_width, chroma_height, p->linesize[2], 1); } emms_c(); |