diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c index 337dcbd933a75db54cf3d9c1df691999e9855b2e..b01c386c9949513987dba16240a0167597c95b69 100644 --- a/libavcodec/motion_est.c +++ b/libavcodec/motion_est.c @@ -1561,7 +1561,8 @@ static inline int check_bidir_mv(MpegEncContext * s, //FIXME better f_code prediction (max mv & distance) //FIXME pointers MotionEstContext * const c= &s->me; - uint8_t * const mv_penalty= c->mv_penalty[s->f_code] + MAX_MV; // f_code of the prev frame + uint8_t * const mv_penalty_f= c->mv_penalty[s->f_code] + MAX_MV; // f_code of the prev frame + uint8_t * const mv_penalty_b= c->mv_penalty[s->b_code] + MAX_MV; // f_code of the prev frame int stride= c->stride; uint8_t *dest_y = c->scratchpad; uint8_t *ptr; @@ -1602,8 +1603,8 @@ static inline int check_bidir_mv(MpegEncContext * s, s->dsp.avg_pixels_tab[size][dxy](dest_y , ptr , stride, h); } - fbmin = (mv_penalty[motion_fx-pred_fx] + mv_penalty[motion_fy-pred_fy])*c->mb_penalty_factor - +(mv_penalty[motion_bx-pred_bx] + mv_penalty[motion_by-pred_by])*c->mb_penalty_factor + fbmin = (mv_penalty_f[motion_fx-pred_fx] + mv_penalty_f[motion_fy-pred_fy])*c->mb_penalty_factor + +(mv_penalty_b[motion_bx-pred_bx] + mv_penalty_b[motion_by-pred_by])*c->mb_penalty_factor + s->dsp.mb_cmp[size](s, src_data[0], dest_y, stride, h); //FIXME new_pic if(c->avctx->mb_cmp&FF_CMP_CHROMA){ diff --git a/tests/ffmpeg.regression.ref b/tests/ffmpeg.regression.ref index 1a7dbc5e22728c8451e59acf5e462a3263f291e4..44cdea2f637c124d0c6bc24083a43111bb810dab 100644 --- a/tests/ffmpeg.regression.ref +++ b/tests/ffmpeg.regression.ref @@ -15,13 +15,13 @@ stddev: 7.69 PSNR:30.40 bytes:7602176 754366 ./data/a-mpeg2i.mpg ddf889858529d09c8fe31c701deacd16 *./data/out.yuv stddev: 7.71 PSNR:30.37 bytes:7602176 -781531fff6e20c986a3bcc189fc34e98 *./data/a-mpeg2thread.mpg -816506 ./data/a-mpeg2thread.mpg -9db3aca554bb8ee337a109a3b8629575 *./data/out.yuv +d0830d912bc594eeec4d3ec60d727d15 *./data/a-mpeg2thread.mpg +816727 ./data/a-mpeg2thread.mpg +664c5ac9185522238813c476b7b0570a *./data/out.yuv stddev: 7.64 PSNR:30.45 bytes:7602176 -6e51bb9da148f9128fde429089349c43 *./data/a-mpeg2reuse.mpg -2115703 ./data/a-mpeg2reuse.mpg -526e6e6818296a1b63d91fc165e0bda8 *./data/out.yuv +d948e29c0be5a78b75c0c7f3ecd8d29d *./data/a-mpeg2reuse.mpg +2114000 ./data/a-mpeg2reuse.mpg +55e78a12330b374db6910447db78ad46 *./data/out.yuv stddev: 7.68 PSNR:30.41 bytes:7602176 09086e7b020e9425a8f7e05372dbcfcd *./data/a-msmpeg4v2.avi 642666 ./data/a-msmpeg4v2.avi @@ -59,9 +59,9 @@ stddev: 7.99 PSNR:30.06 bytes:7602176 7932708 ./data/a-huffyuv.avi 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv stddev: 0.00 PSNR:99.99 bytes:7602176 -fc4c71c330fd3f95e05c398c6a7584de *./data/a-mpeg4-rc.avi -824306 ./data/a-mpeg4-rc.avi -fb0a9af6dd83b2f1a3ba752b848038f7 *./data/out.yuv +cd541209c9ef0c1824ac340d5087f0e0 *./data/a-mpeg4-rc.avi +824336 ./data/a-mpeg4-rc.avi +6656c0be50eba458b5ab91bfe6bf3077 *./data/out.yuv stddev: 10.41 PSNR:27.77 bytes:7602176 81078d7852dfd6041ff17b5dc8ed0ffc *./data/a-mpeg4-adv.avi 600240 ./data/a-mpeg4-adv.avi @@ -83,9 +83,9 @@ adf36cbca712f8202d474cf1f99bdcd0 *./data/a-mpeg4-nr.avi 689772 ./data/a-mpeg4-nr.avi 79f4e8263e40822c0cbf35725f375b24 *./data/out.yuv stddev: 7.03 PSNR:31.18 bytes:7602176 -6aebee12c0ff95756e11d32f305d7e11 *./data/a-mpeg1b.mpg -1037657 ./data/a-mpeg1b.mpg -09a77de112e144c562bc1398b111b61b *./data/out.yuv +9060d865a32d5c760ab51df013c0aece *./data/a-mpeg1b.mpg +1037617 ./data/a-mpeg1b.mpg +cb5b972265599c17f01b96737947b482 *./data/out.yuv stddev: 6.35 PSNR:32.06 bytes:7602176 f7562207c0e7490e570c91c2900b73f6 *./data/a-mjpeg.avi 1566544 ./data/a-mjpeg.avi diff --git a/tests/rotozoom.regression.ref b/tests/rotozoom.regression.ref index f1b16d79f9ed90b5a24ddf31fd3939406779b2bc..8c99c9d18111b9406fac522ac856a1415e4ea404 100644 --- a/tests/rotozoom.regression.ref +++ b/tests/rotozoom.regression.ref @@ -15,13 +15,13 @@ stddev: 4.98 PSNR:34.17 bytes:7602176 205006 ./data/a-mpeg2i.mpg d215d0f3cbbfb687a929ccf2dd1a034a *./data/out.yuv stddev: 4.99 PSNR:34.16 bytes:7602176 -80d7c5f8159094ba5497d9b890906ee5 *./data/a-mpeg2thread.mpg -184101 ./data/a-mpeg2thread.mpg -abc276d30f874cb36d2fa113dabc67a8 *./data/out.yuv +20f7d29ae2d7eed5742b22c9d2ed5281 *./data/a-mpeg2thread.mpg +184113 ./data/a-mpeg2thread.mpg +b6cc35f5619c6f44c1c2bfbf01e55aec *./data/out.yuv stddev: 4.76 PSNR:34.56 bytes:7602176 -0dfacb76a7097614c2dddd27b25f1162 *./data/a-mpeg2reuse.mpg -397244 ./data/a-mpeg2reuse.mpg -caa7723366dd267a5a14775565f2df2e *./data/out.yuv +57bc4a05ff7053dc988530714e91f6c2 *./data/a-mpeg2reuse.mpg +397335 ./data/a-mpeg2reuse.mpg +4f6b4006112516a6f939d61876f78eca *./data/out.yuv stddev: 4.77 PSNR:34.54 bytes:7602176 dc68a5115d1bf1bb2eb2ce9bb237bd79 *./data/a-msmpeg4v2.avi 129504 ./data/a-msmpeg4v2.avi @@ -83,9 +83,9 @@ stddev: 10.05 PSNR:28.08 bytes:7602176 154392 ./data/a-mpeg4-nr.avi 33a6f702049ef4e074c6266b9d17d3e9 *./data/out.yuv stddev: 4.73 PSNR:34.61 bytes:7602176 -5ebacda3ae827549f7df10ce0361f617 *./data/a-mpeg1b.mpg -231306 ./data/a-mpeg1b.mpg -c665bd56f8e241f8bf3a5a8f803227c3 *./data/out.yuv +1286f6db500a739f724994991be211b0 *./data/a-mpeg1b.mpg +231292 ./data/a-mpeg1b.mpg +a0eeed27d5123995b32210dc35052cfe *./data/out.yuv stddev: 4.13 PSNR:35.78 bytes:7602176 213976bbab45a461e3334feb8fef38d9 *./data/a-mjpeg.avi 702528 ./data/a-mjpeg.avi