Commit 16d1fe44 authored by michael's avatar michael

h263 MV prediction doesnt match mpeg4, for some slices configurations (fixes RV20 MVs)


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@2551 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 6eb9ea93
...@@ -1473,7 +1473,7 @@ int16_t *h263_pred_motion(MpegEncContext * s, int block, ...@@ -1473,7 +1473,7 @@ int16_t *h263_pred_motion(MpegEncContext * s, int block,
if(block==0){ //most common case if(block==0){ //most common case
if(s->mb_x == s->resync_mb_x){ //rare if(s->mb_x == s->resync_mb_x){ //rare
*px= *py = 0; *px= *py = 0;
}else if(s->mb_x + 1 == s->resync_mb_x){ //rare }else if(s->mb_x + 1 == s->resync_mb_x && s->h263_pred){ //rare
C = s->motion_val[xy + off[block] - wrap]; C = s->motion_val[xy + off[block] - wrap];
if(s->mb_x==0){ if(s->mb_x==0){
*px = C[0]; *px = C[0];
...@@ -1487,7 +1487,7 @@ int16_t *h263_pred_motion(MpegEncContext * s, int block, ...@@ -1487,7 +1487,7 @@ int16_t *h263_pred_motion(MpegEncContext * s, int block,
*py = A[1]; *py = A[1];
} }
}else if(block==1){ }else if(block==1){
if(s->mb_x + 1 == s->resync_mb_x){ //rare if(s->mb_x + 1 == s->resync_mb_x && s->h263_pred){ //rare
C = s->motion_val[xy + off[block] - wrap]; C = s->motion_val[xy + off[block] - wrap];
*px = mid_pred(A[0], 0, C[0]); *px = mid_pred(A[0], 0, C[0]);
*py = mid_pred(A[1], 0, C[1]); *py = mid_pred(A[1], 0, C[1]);
......
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