Commit 80ee9fc0 authored by Michael Niedermayer's avatar Michael Niedermayer

simplify MV availability check / dont use below last row MV which is always zero

Originally committed as revision 2773 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 9c3d33d6
...@@ -946,7 +946,7 @@ static int RENAME(epzs_motion_search)(MpegEncContext * s, ...@@ -946,7 +946,7 @@ static int RENAME(epzs_motion_search)(MpegEncContext * s,
}else{ }else{
CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16, CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16,
(last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16) (last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16)
if(s->end_mb_y == s->mb_height || s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line if(s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line
CHECK_CLIPED_MV((last_mv[ref_mv_xy+ref_mv_stride][0]*ref_mv_scale + (1<<15))>>16, CHECK_CLIPED_MV((last_mv[ref_mv_xy+ref_mv_stride][0]*ref_mv_scale + (1<<15))>>16,
(last_mv[ref_mv_xy+ref_mv_stride][1]*ref_mv_scale + (1<<15))>>16) (last_mv[ref_mv_xy+ref_mv_stride][1]*ref_mv_scale + (1<<15))>>16)
} }
...@@ -1048,7 +1048,7 @@ static int RENAME(epzs_motion_search4)(MpegEncContext * s, ...@@ -1048,7 +1048,7 @@ static int RENAME(epzs_motion_search4)(MpegEncContext * s,
if(dmin>64*4){ if(dmin>64*4){
CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16, CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16,
(last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16) (last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16)
if(s->end_mb_y == s->mb_height || s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line if(s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line
CHECK_CLIPED_MV((last_mv[ref_mv_xy+ref_mv_stride][0]*ref_mv_scale + (1<<15))>>16, CHECK_CLIPED_MV((last_mv[ref_mv_xy+ref_mv_stride][0]*ref_mv_scale + (1<<15))>>16,
(last_mv[ref_mv_xy+ref_mv_stride][1]*ref_mv_scale + (1<<15))>>16) (last_mv[ref_mv_xy+ref_mv_stride][1]*ref_mv_scale + (1<<15))>>16)
} }
...@@ -1127,7 +1127,7 @@ static int RENAME(epzs_motion_search2)(MpegEncContext * s, ...@@ -1127,7 +1127,7 @@ static int RENAME(epzs_motion_search2)(MpegEncContext * s,
if(dmin>64*4){ if(dmin>64*4){
CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16, CHECK_CLIPED_MV((last_mv[ref_mv_xy+1][0]*ref_mv_scale + (1<<15))>>16,
(last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16) (last_mv[ref_mv_xy+1][1]*ref_mv_scale + (1<<15))>>16)
if(s->end_mb_y == s->mb_height || s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line if(s->mb_y+1<s->end_mb_y) //FIXME replace at least with last_slice_line
CHECK_CLIPED_MV((last_mv[ref_mv_xy+ref_mv_stride][0]*ref_mv_scale + (1<<15))>>16, CHECK_CLIPED_MV((last_mv[ref_mv_xy+ref_mv_stride][0]*ref_mv_scale + (1<<15))>>16,
(last_mv[ref_mv_xy+ref_mv_stride][1]*ref_mv_scale + (1<<15))>>16) (last_mv[ref_mv_xy+ref_mv_stride][1]*ref_mv_scale + (1<<15))>>16)
} }
......
...@@ -5,11 +5,11 @@ stddev: 7.63 PSNR:30.47 bytes:7602176 ...@@ -5,11 +5,11 @@ stddev: 7.63 PSNR:30.47 bytes:7602176
b588110bebb48b5a1815ac26d0f0c9cc *./data/a-mpeg2.mpg b588110bebb48b5a1815ac26d0f0c9cc *./data/a-mpeg2.mpg
ddfa5c618dab54df0f47976ddd55d90f *./data/out.yuv ddfa5c618dab54df0f47976ddd55d90f *./data/out.yuv
stddev: 7.65 PSNR:30.44 bytes:7602176 stddev: 7.65 PSNR:30.44 bytes:7602176
13336cffcba456ff4a7607b2a7e57b33 *./data/a-mpeg2i.mpg ce0529fb56f9e2e89545227b7ed669a4 *./data/a-mpeg2i.mpg
4c9701eb83ed81dd9a328af83d7d7c8a *./data/out.yuv 446cb12ef18f799058634faa1c163f48 *./data/out.yuv
stddev: 7.66 PSNR:30.43 bytes:7602176 stddev: 7.66 PSNR:30.44 bytes:7602176
8c4a7744f40a1e7aa16b985ecaad176a *./data/a-mpeg2thread.mpg 201a9264b462ab6e33509173da5e93f0 *./data/a-mpeg2thread.mpg
12ab090b699c130e5aef8e050965f092 *./data/out.yuv 593267186722d7906aff1836613952a0 *./data/out.yuv
stddev: 9.44 PSNR:28.62 bytes:7299072 stddev: 9.44 PSNR:28.62 bytes:7299072
d0dc46dd831398237a690ebbeff18b64 *./data/a-msmpeg4v2.avi d0dc46dd831398237a690ebbeff18b64 *./data/a-msmpeg4v2.avi
712aa6c959d1d90a78fe98657cbff19c *./data/out.yuv 712aa6c959d1d90a78fe98657cbff19c *./data/out.yuv
...@@ -29,8 +29,8 @@ stddev: 8.18 PSNR:29.86 bytes:7602176 ...@@ -29,8 +29,8 @@ stddev: 8.18 PSNR:29.86 bytes:7602176
920a0a8a0063655d1f34dcaad7857f98 *./data/a-h263p.avi 920a0a8a0063655d1f34dcaad7857f98 *./data/a-h263p.avi
0eb167c9dfcbeeecbf3debed8af8f811 *./data/out.yuv 0eb167c9dfcbeeecbf3debed8af8f811 *./data/out.yuv
stddev: 2.08 PSNR:41.74 bytes:7602176 stddev: 2.08 PSNR:41.74 bytes:7602176
66f8b4b5b4f0655cff7bdbc44969cab3 *./data/a-odivx.mp4 3ddc7fca3c66a27da6544bbb0fd9aca1 *./data/a-odivx.mp4
5bd332c77ef45e58b7017e06a0467dd3 *./data/out.yuv d0d19e18c9d7b6fecaa7f9fc68691d89 *./data/out.yuv
stddev: 7.94 PSNR:30.12 bytes:7602176 stddev: 7.94 PSNR:30.12 bytes:7602176
5704a082cc5c5970620123ae20566286 *./data/a-huffyuv.avi 5704a082cc5c5970620123ae20566286 *./data/a-huffyuv.avi
799d3db687f6cdd7a837ec156efc171f *./data/out.yuv 799d3db687f6cdd7a837ec156efc171f *./data/out.yuv
...@@ -38,17 +38,17 @@ stddev: 0.00 PSNR:99.99 bytes:7602176 ...@@ -38,17 +38,17 @@ stddev: 0.00 PSNR:99.99 bytes:7602176
e9f63126859b97cd23cd1413038f8f7b *./data/a-mpeg4-rc.avi e9f63126859b97cd23cd1413038f8f7b *./data/a-mpeg4-rc.avi
90a159074b1b109569914ee63f387860 *./data/out.yuv 90a159074b1b109569914ee63f387860 *./data/out.yuv
stddev: 10.18 PSNR:27.96 bytes:7145472 stddev: 10.18 PSNR:27.96 bytes:7145472
64b4b917014169294d59fe43ad6b3da9 *./data/a-mpeg4-adv.avi c039531bedf6a2fa2dcb81aa4c87b44e *./data/a-mpeg4-adv.avi
8069deacba9756fd25ad37b467eb6365 *./data/out.yuv 87c1cb0f4e0d2217addd9b5074ed4538 *./data/out.yuv
stddev: 10.23 PSNR:27.92 bytes:7602176 stddev: 10.23 PSNR:27.92 bytes:7602176
96453d489d5418e382824cfb2673ac58 *./data/a-mpeg4-thread.avi af19b439fcbdeb15e45643427ca7df96 *./data/a-mpeg4-thread.avi
17ec2d72186dbb72d8a79cd448796cef *./data/out.yuv 7489d8ebadd11eb9c2329c401da06681 *./data/out.yuv
stddev: 12.09 PSNR:26.47 bytes:7145472 stddev: 12.09 PSNR:26.47 bytes:7145472
f863f4198521bd76930ea33991b47273 *./data/a-error-mpeg4-adv.avi fb9c77f76543c32fd8b9b6b798831259 *./data/a-error-mpeg4-adv.avi
ba7fcd126c7c9fead5a5de71aaaf0624 *./data/out.yuv f5c82f35c4666a9c4ca0a2caa427e567 *./data/out.yuv
stddev: 16.80 PSNR:23.61 bytes:7602176 stddev: 16.80 PSNR:23.61 bytes:7602176
198ad515da4f330d780c54fd8d6186ab *./data/a-mpeg4-nr.avi 4f288e46f8db954a31e1e4e1a7cd6aa8 *./data/a-mpeg4-nr.avi
ebdb326e19aeab8e3c70d7050dc3b240 *./data/out.yuv b0b2814c888b987c75c204a82b8e5ab0 *./data/out.yuv
stddev: 7.02 PSNR:31.19 bytes:7602176 stddev: 7.02 PSNR:31.19 bytes:7602176
328ebd044362116e274739e23c482ee7 *./data/a-mpeg1b.mpg 328ebd044362116e274739e23c482ee7 *./data/a-mpeg1b.mpg
788a9d500dc8986231a18076fc80fd73 *./data/out.yuv 788a9d500dc8986231a18076fc80fd73 *./data/out.yuv
......
...@@ -29,8 +29,8 @@ stddev: 5.41 PSNR:33.45 bytes:7602176 ...@@ -29,8 +29,8 @@ stddev: 5.41 PSNR:33.45 bytes:7602176
f7828488c31ccb6787367ef4e4a2ad42 *./data/a-h263p.avi f7828488c31ccb6787367ef4e4a2ad42 *./data/a-h263p.avi
7d39d1f272205a6a231d0e0baf32ff9d *./data/out.yuv 7d39d1f272205a6a231d0e0baf32ff9d *./data/out.yuv
stddev: 1.91 PSNR:42.49 bytes:7602176 stddev: 1.91 PSNR:42.49 bytes:7602176
a831828595e5764e6ee30c2d9e548385 *./data/a-odivx.mp4 7e4693c0e68c0ee0cdfac145d3563536 *./data/a-odivx.mp4
ad75d173bd30d642147f00da21df0012 *./data/out.yuv 19fad75bd384b38f08830bfa19c06183 *./data/out.yuv
stddev: 5.27 PSNR:33.67 bytes:7602176 stddev: 5.27 PSNR:33.67 bytes:7602176
242a7a18c2793e115007bc163861ef4e *./data/a-huffyuv.avi 242a7a18c2793e115007bc163861ef4e *./data/a-huffyuv.avi
dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv
...@@ -38,17 +38,17 @@ stddev: 0.00 PSNR:99.99 bytes:7602176 ...@@ -38,17 +38,17 @@ stddev: 0.00 PSNR:99.99 bytes:7602176
6a469f42ce6946dd4c708f9e51e3da6a *./data/a-mpeg4-rc.avi 6a469f42ce6946dd4c708f9e51e3da6a *./data/a-mpeg4-rc.avi
df9de7134d961119705b4e0cabca1f12 *./data/out.yuv df9de7134d961119705b4e0cabca1f12 *./data/out.yuv
stddev: 4.20 PSNR:35.64 bytes:7145472 stddev: 4.20 PSNR:35.64 bytes:7145472
accf60d11aceecabb3c1997aec6e18b5 *./data/a-mpeg4-adv.avi ca4243004b4a1fbbc9d29dc68574beb2 *./data/a-mpeg4-adv.avi
a287b07b812fbeeb5364517303178ac7 *./data/out.yuv 7b58008327a50466cf777a93150cbf2e *./data/out.yuv
stddev: 4.77 PSNR:34.54 bytes:7602176 stddev: 4.77 PSNR:34.54 bytes:7602176
8750b3935266211fea6b062f445bb305 *./data/a-mpeg4-thread.avi 3dfa2fedd93e9703530f65128bf8765a *./data/a-mpeg4-thread.avi
aee1867b77490b3f8d58fcc9b7c5b535 *./data/out.yuv 8165220c38e1d9cf893ed7425ced152c *./data/out.yuv
stddev: 3.92 PSNR:36.25 bytes:7145472 stddev: 3.92 PSNR:36.25 bytes:7145472
03ff35856faefb4882eaf4d86d95bea7 *./data/a-error-mpeg4-adv.avi 3794994d37b9647190fd7732243b4b24 *./data/a-error-mpeg4-adv.avi
8550acff0851ee915bd5800f1e20f37c *./data/out.yuv 016e90cf02cf9c4be346f182945fe979 *./data/out.yuv
stddev: 9.66 PSNR:28.42 bytes:7602176 stddev: 9.66 PSNR:28.42 bytes:7602176
74dbbba19d250a712702b1893c003461 *./data/a-mpeg4-nr.avi f68ca13a9b8216aa333968151bcb6ca0 *./data/a-mpeg4-nr.avi
81b985840c03bf101302abde131e3900 *./data/out.yuv a014c55328263220911cacc012e6e814 *./data/out.yuv
stddev: 4.67 PSNR:34.73 bytes:7602176 stddev: 4.67 PSNR:34.73 bytes:7602176
671802a2c5078e69f7f422765ea87f2a *./data/a-mpeg1b.mpg 671802a2c5078e69f7f422765ea87f2a *./data/a-mpeg1b.mpg
d3d5876cef34b728602d5a22eee9249f *./data/out.yuv d3d5876cef34b728602d5a22eee9249f *./data/out.yuv
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment