|
|
|
@@ -2361,17 +2361,19 @@ static av_always_inline void xchg_mb_border(H264Context *h, uint8_t *src_y, |
|
|
|
} |
|
|
|
if (simple || !CONFIG_GRAY || !(h->flags & CODEC_FLAG_GRAY)) { |
|
|
|
if (chroma444) { |
|
|
|
if (deblock_topleft) { |
|
|
|
XCHG(top_border_m1 + (24 << pixel_shift), src_cb - (7 << pixel_shift), 1); |
|
|
|
XCHG(top_border_m1 + (40 << pixel_shift), src_cr - (7 << pixel_shift), 1); |
|
|
|
} |
|
|
|
XCHG(top_border + (16 << pixel_shift), src_cb + (1 << pixel_shift), xchg); |
|
|
|
XCHG(top_border + (24 << pixel_shift), src_cb + (9 << pixel_shift), 1); |
|
|
|
XCHG(top_border + (32 << pixel_shift), src_cr + (1 << pixel_shift), xchg); |
|
|
|
XCHG(top_border + (40 << pixel_shift), src_cr + (9 << pixel_shift), 1); |
|
|
|
if (h->mb_x + 1 < h->mb_width) { |
|
|
|
XCHG(h->top_borders[top_idx][h->mb_x + 1] + (16 << pixel_shift), src_cb + (17 << pixel_shift), 1); |
|
|
|
XCHG(h->top_borders[top_idx][h->mb_x + 1] + (32 << pixel_shift), src_cr + (17 << pixel_shift), 1); |
|
|
|
if (deblock_top) { |
|
|
|
if (deblock_topleft) { |
|
|
|
XCHG(top_border_m1 + (24 << pixel_shift), src_cb - (7 << pixel_shift), 1); |
|
|
|
XCHG(top_border_m1 + (40 << pixel_shift), src_cr - (7 << pixel_shift), 1); |
|
|
|
} |
|
|
|
XCHG(top_border + (16 << pixel_shift), src_cb + (1 << pixel_shift), xchg); |
|
|
|
XCHG(top_border + (24 << pixel_shift), src_cb + (9 << pixel_shift), 1); |
|
|
|
XCHG(top_border + (32 << pixel_shift), src_cr + (1 << pixel_shift), xchg); |
|
|
|
XCHG(top_border + (40 << pixel_shift), src_cr + (9 << pixel_shift), 1); |
|
|
|
if (h->mb_x + 1 < h->mb_width) { |
|
|
|
XCHG(h->top_borders[top_idx][h->mb_x + 1] + (16 << pixel_shift), src_cb + (17 << pixel_shift), 1); |
|
|
|
XCHG(h->top_borders[top_idx][h->mb_x + 1] + (32 << pixel_shift), src_cr + (17 << pixel_shift), 1); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (deblock_top) { |
|
|
|
|