1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

fix 4:2:2 psnr

Originally committed as revision 14662 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Baptiste Coudurier 2008-08-08 02:56:44 +00:00
parent b80b569242
commit ec7e2582ae

View File

@ -2012,6 +2012,7 @@ static void write_slice_end(MpegEncContext *s){
static int encode_thread(AVCodecContext *c, void *arg){ static int encode_thread(AVCodecContext *c, void *arg){
MpegEncContext *s= arg; MpegEncContext *s= arg;
int mb_x, mb_y, pdif = 0; int mb_x, mb_y, pdif = 0;
int chr_h= 16>>s->chroma_y_shift;
int i, j; int i, j;
MpegEncContext best_s, backup_s; MpegEncContext best_s, backup_s;
uint8_t bit_buf[2][MAX_MB_BYTES]; uint8_t bit_buf[2][MAX_MB_BYTES];
@ -2606,11 +2607,11 @@ static int encode_thread(AVCodecContext *c, void *arg){
s, s->new_picture.data[0] + s->mb_x*16 + s->mb_y*s->linesize*16, s, s->new_picture.data[0] + s->mb_x*16 + s->mb_y*s->linesize*16,
s->dest[0], w, h, s->linesize); s->dest[0], w, h, s->linesize);
s->current_picture.error[1] += sse( s->current_picture.error[1] += sse(
s, s->new_picture.data[1] + s->mb_x*8 + s->mb_y*s->uvlinesize*8, s, s->new_picture.data[1] + s->mb_x*8 + s->mb_y*s->uvlinesize*chr_h,
s->dest[1], w>>1, h>>1, s->uvlinesize); s->dest[1], w>>1, h>>s->chroma_y_shift, s->uvlinesize);
s->current_picture.error[2] += sse( s->current_picture.error[2] += sse(
s, s->new_picture .data[2] + s->mb_x*8 + s->mb_y*s->uvlinesize*8, s, s->new_picture.data[2] + s->mb_x*8 + s->mb_y*s->uvlinesize*chr_h,
s->dest[2], w>>1, h>>1, s->uvlinesize); s->dest[2], w>>1, h>>s->chroma_y_shift, s->uvlinesize);
} }
if(s->loop_filter){ if(s->loop_filter){
if(ENABLE_ANY_H263_ENCODER && s->out_format == FMT_H263) if(ENABLE_ANY_H263_ENCODER && s->out_format == FMT_H263)