Add loop filtering for UV plane
On block boundary within a MB when 8x8 block boundary only is filtered for Y. Change-Id: Ie1c804c877d199e78e2fecd8c2d3f1e114ce9ec1
This commit is contained in:
parent
d27ae620bc
commit
9a1d73d036
@ -439,6 +439,14 @@ void vp9_loop_filter_bh8x8_c(uint8_t *y_ptr, uint8_t *u_ptr,
|
||||
struct loop_filter_info *lfi) {
|
||||
vp9_mbloop_filter_horizontal_edge_c(
|
||||
y_ptr + 8 * y_stride, y_stride, lfi->blim, lfi->lim, lfi->hev_thr, 2);
|
||||
|
||||
if (u_ptr)
|
||||
vp9_loop_filter_horizontal_edge_c(u_ptr + 4 * uv_stride, uv_stride,
|
||||
lfi->blim, lfi->lim, lfi->hev_thr, 1);
|
||||
|
||||
if (v_ptr)
|
||||
vp9_loop_filter_horizontal_edge_c(v_ptr + 4 * uv_stride, uv_stride,
|
||||
lfi->blim, lfi->lim, lfi->hev_thr, 1);
|
||||
}
|
||||
|
||||
void vp9_loop_filter_bhs_c(uint8_t *y_ptr, int y_stride,
|
||||
@ -456,6 +464,14 @@ void vp9_loop_filter_bv8x8_c(uint8_t *y_ptr, uint8_t *u_ptr,
|
||||
struct loop_filter_info *lfi) {
|
||||
vp9_mbloop_filter_vertical_edge_c(
|
||||
y_ptr + 8, y_stride, lfi->blim, lfi->lim, lfi->hev_thr, 2);
|
||||
|
||||
if (u_ptr)
|
||||
vp9_loop_filter_vertical_edge_c(u_ptr + 4, uv_stride,
|
||||
lfi->blim, lfi->lim, lfi->hev_thr, 1);
|
||||
|
||||
if (v_ptr)
|
||||
vp9_loop_filter_vertical_edge_c(v_ptr + 4, uv_stride,
|
||||
lfi->blim, lfi->lim, lfi->hev_thr, 1);
|
||||
}
|
||||
|
||||
void vp9_loop_filter_bvs_c(uint8_t *y_ptr, int y_stride,
|
||||
|
@ -609,6 +609,11 @@ void vp9_loop_filter_bh8x8_sse2(unsigned char *y_ptr, unsigned char *u_ptr,
|
||||
struct loop_filter_info *lfi) {
|
||||
vp9_mbloop_filter_horizontal_edge_sse2(
|
||||
y_ptr + 8 * y_stride, y_stride, lfi->blim, lfi->lim, lfi->hev_thr);
|
||||
|
||||
if (u_ptr)
|
||||
vp9_loop_filter_horizontal_edge_uv_sse2(u_ptr + 4 * uv_stride, uv_stride,
|
||||
lfi->blim, lfi->lim, lfi->hev_thr,
|
||||
v_ptr + 4 * uv_stride);
|
||||
}
|
||||
|
||||
/* Vertical MB Filtering */
|
||||
@ -629,6 +634,11 @@ void vp9_loop_filter_bv8x8_sse2(unsigned char *y_ptr, unsigned char *u_ptr,
|
||||
struct loop_filter_info *lfi) {
|
||||
vp9_mbloop_filter_vertical_edge_sse2(
|
||||
y_ptr + 8, y_stride, lfi->blim, lfi->lim, lfi->hev_thr);
|
||||
|
||||
if (u_ptr)
|
||||
vp9_loop_filter_vertical_edge_uv_sse2(u_ptr + 4, uv_stride,
|
||||
lfi->blim, lfi->lim, lfi->hev_thr,
|
||||
v_ptr + 4);
|
||||
}
|
||||
|
||||
/* Horizontal B Filtering */
|
||||
|
Loading…
Reference in New Issue
Block a user