[FFmpeg-cvslog] r14662 - trunk/libavcodec/mpegvideo_enc.c
bcoudurier
subversion
Fri Aug 8 04:56:44 CEST 2008
Author: bcoudurier
Date: Fri Aug 8 04:56:44 2008
New Revision: 14662
Log:
fix 4:2:2 psnr
Modified:
trunk/libavcodec/mpegvideo_enc.c
Modified: trunk/libavcodec/mpegvideo_enc.c
==============================================================================
--- trunk/libavcodec/mpegvideo_enc.c (original)
+++ trunk/libavcodec/mpegvideo_enc.c Fri Aug 8 04:56:44 2008
@@ -2012,6 +2012,7 @@ static void write_slice_end(MpegEncConte
static int encode_thread(AVCodecContext *c, void *arg){
MpegEncContext *s= arg;
int mb_x, mb_y, pdif = 0;
+ int chr_h= 16>>s->chroma_y_shift;
int i, j;
MpegEncContext best_s, backup_s;
uint8_t bit_buf[2][MAX_MB_BYTES];
@@ -2606,11 +2607,11 @@ static int encode_thread(AVCodecContext
s, s->new_picture.data[0] + s->mb_x*16 + s->mb_y*s->linesize*16,
s->dest[0], w, h, s->linesize);
s->current_picture.error[1] += sse(
- s, s->new_picture.data[1] + s->mb_x*8 + s->mb_y*s->uvlinesize*8,
- s->dest[1], w>>1, h>>1, s->uvlinesize);
+ s, s->new_picture.data[1] + s->mb_x*8 + s->mb_y*s->uvlinesize*chr_h,
+ s->dest[1], w>>1, h>>s->chroma_y_shift, s->uvlinesize);
s->current_picture.error[2] += sse(
- s, s->new_picture .data[2] + s->mb_x*8 + s->mb_y*s->uvlinesize*8,
- s->dest[2], w>>1, h>>1, s->uvlinesize);
+ s, s->new_picture.data[2] + s->mb_x*8 + s->mb_y*s->uvlinesize*chr_h,
+ s->dest[2], w>>1, h>>s->chroma_y_shift, s->uvlinesize);
}
if(s->loop_filter){
if(ENABLE_ANY_H263_ENCODER && s->out_format == FMT_H263)
More information about the ffmpeg-cvslog
mailing list