|
|
|
@ -263,7 +263,7 @@ single_col: |
|
|
|
|
|
|
|
|
|
fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[0], 1); |
|
|
|
|
fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[1], 1); |
|
|
|
|
if(!IS_INTRA(mb_type_col[y8]) |
|
|
|
|
if(!IS_INTRA(mb_type_col[y8]) && !h->ref_list[1][0].long_ref |
|
|
|
|
&& ( (l1ref0[xy8] == 0 && FFABS(l1mv0[xy4][0]) <= 1 && FFABS(l1mv0[xy4][1]) <= 1) |
|
|
|
|
|| (l1ref0[xy8] < 0 && l1ref1[xy8] == 0 && FFABS(l1mv1[xy4][0]) <= 1 && FFABS(l1mv1[xy4][1]) <= 1))){ |
|
|
|
|
if(ref[0] > 0) |
|
|
|
@ -282,7 +282,7 @@ single_col: |
|
|
|
|
|
|
|
|
|
fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1); |
|
|
|
|
fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1); |
|
|
|
|
if(!IS_INTRA(mb_type_col[0]) |
|
|
|
|
if(!IS_INTRA(mb_type_col[0]) && !h->ref_list[1][0].long_ref |
|
|
|
|
&& ( (l1ref0[0] == 0 && FFABS(l1mv0[0][0]) <= 1 && FFABS(l1mv0[0][1]) <= 1) |
|
|
|
|
|| (l1ref0[0] < 0 && l1ref1[0] == 0 && FFABS(l1mv1[0][0]) <= 1 && FFABS(l1mv1[0][1]) <= 1 |
|
|
|
|
&& (h->x264_build>33 || !h->x264_build)))){ |
|
|
|
@ -311,7 +311,7 @@ single_col: |
|
|
|
|
fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, (uint8_t)ref[1], 1); |
|
|
|
|
|
|
|
|
|
/* col_zero_flag */ |
|
|
|
|
if(!IS_INTRA(mb_type_col[0]) && ( l1ref0[x8 + y8*b8_stride] == 0 |
|
|
|
|
if(!IS_INTRA(mb_type_col[0]) && !h->ref_list[1][0].long_ref && ( l1ref0[x8 + y8*b8_stride] == 0 |
|
|
|
|
|| (l1ref0[x8 + y8*b8_stride] < 0 && l1ref1[x8 + y8*b8_stride] == 0 |
|
|
|
|
&& (h->x264_build>33 || !h->x264_build)))){ |
|
|
|
|
const int16_t (*l1mv)[2]= l1ref0[x8 + y8*b8_stride] == 0 ? l1mv0 : l1mv1; |
|
|
|
|