Commit 6e1a28d8 authored by kostya's avatar kostya

Set C predictor to zero if unavailable (should fix B-frame border artifacts)

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@8702 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent a0bf5da5
...@@ -2318,6 +2318,7 @@ static inline void vc1_pred_b_mv(VC1Context *v, int dmv_x[2], int dmv_y[2], int ...@@ -2318,6 +2318,7 @@ static inline void vc1_pred_b_mv(VC1Context *v, int dmv_x[2], int dmv_y[2], int
off = (s->mb_x == (s->mb_width - 1)) ? -2 : 2; off = (s->mb_x == (s->mb_width - 1)) ? -2 : 2;
B = s->current_picture.motion_val[0][xy - wrap*2 + off]; B = s->current_picture.motion_val[0][xy - wrap*2 + off];
if(!s->mb_x) C[0] = C[1] = 0;
if(!s->first_slice_line) { // predictor A is not out of bounds if(!s->first_slice_line) { // predictor A is not out of bounds
if(s->mb_width == 1) { if(s->mb_width == 1) {
px = A[0]; px = A[0];
...@@ -2395,6 +2396,7 @@ static inline void vc1_pred_b_mv(VC1Context *v, int dmv_x[2], int dmv_y[2], int ...@@ -2395,6 +2396,7 @@ static inline void vc1_pred_b_mv(VC1Context *v, int dmv_x[2], int dmv_y[2], int
off = (s->mb_x == (s->mb_width - 1)) ? -2 : 2; off = (s->mb_x == (s->mb_width - 1)) ? -2 : 2;
B = s->current_picture.motion_val[1][xy - wrap*2 + off]; B = s->current_picture.motion_val[1][xy - wrap*2 + off];
if(!s->mb_x) C[0] = C[1] = 0;
if(!s->first_slice_line) { // predictor A is not out of bounds if(!s->first_slice_line) { // predictor A is not out of bounds
if(s->mb_width == 1) { if(s->mb_width == 1) {
px = A[0]; px = A[0];
......
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