diff --git a/av1/common/clpf.c b/av1/common/clpf.c index e1bd15734..20e939cd9 100644 --- a/av1/common/clpf.c +++ b/av1/common/clpf.c @@ -73,13 +73,14 @@ void aom_clpf_block_hbd_c(const uint16_t *src, uint16_t *dst, int sstride, #endif // Return number of filtered blocks -int av1_clpf_frame( - const YV12_BUFFER_CONFIG *frame, const YV12_BUFFER_CONFIG *org, - AV1_COMMON *cm, int enable_fb_flag, unsigned int strength, - unsigned int fb_size_log2, uint8_t *blocks, int plane, - int (*decision)(int, int, const YV12_BUFFER_CONFIG *, - const YV12_BUFFER_CONFIG *, const AV1_COMMON *cm, int, int, - int, unsigned int, unsigned int, uint8_t *, int)) { +int av1_clpf_frame(const YV12_BUFFER_CONFIG *frame, + const YV12_BUFFER_CONFIG *org, AV1_COMMON *cm, + int enable_fb_flag, unsigned int strength, + unsigned int fb_size_log2, uint8_t *blocks, int plane, + int (*decision)(int, int, const YV12_BUFFER_CONFIG *, + const YV12_BUFFER_CONFIG *, + const AV1_COMMON *cm, int, int, int, + unsigned int, unsigned int, uint8_t *)) { /* Constrained low-pass filter (CLPF) */ int c, k, l, m, n; const int subx = plane != AOM_PLANE_Y && frame->subsampling_x; @@ -151,7 +152,7 @@ int av1_clpf_frame( if (!allskip && // Do not filter the block if all is skip encoded (!enable_fb_flag || decision(k, l, frame, org, cm, bs, w / bs, h / bs, strength, - fb_size_log2, blocks + block_index, plane))) { + fb_size_log2, blocks + block_index))) { // Iterate over all smaller blocks inside the filter block for (m = 0; m < ((h + bs - 1) >> bslog); m++) { for (n = 0; n < ((w + bs - 1) >> bslog); n++) { diff --git a/av1/common/clpf.h b/av1/common/clpf.h index 46d10e466..8e4213b20 100644 --- a/av1/common/clpf.h +++ b/av1/common/clpf.h @@ -24,6 +24,6 @@ int av1_clpf_frame(const YV12_BUFFER_CONFIG *frame, int (*decision)(int, int, const YV12_BUFFER_CONFIG *, const YV12_BUFFER_CONFIG *, const AV1_COMMON *cm, int, int, int, - unsigned int, unsigned int, uint8_t *, int)); + unsigned int, unsigned int, uint8_t *)); #endif diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 48be2bf7e..7daeb5de0 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c @@ -2068,8 +2068,7 @@ static int clpf_bit(UNUSED int k, UNUSED int l, UNUSED const YV12_BUFFER_CONFIG *org, UNUSED const AV1_COMMON *cm, UNUSED int block_size, UNUSED int w, UNUSED int h, UNUSED unsigned int strength, - UNUSED unsigned int fb_size_log2, uint8_t *bit, - UNUSED int comp) { + UNUSED unsigned int fb_size_log2, uint8_t *bit) { return *bit; } #endif diff --git a/av1/encoder/clpf_rdo.c b/av1/encoder/clpf_rdo.c index dc05937f2..a93be1388 100644 --- a/av1/encoder/clpf_rdo.c +++ b/av1/encoder/clpf_rdo.c @@ -127,45 +127,32 @@ void aom_clpf_detect_multi_hbd_c(const uint16_t *rec, const uint16_t *org, int av1_clpf_decision(int k, int l, const YV12_BUFFER_CONFIG *rec, const YV12_BUFFER_CONFIG *org, const AV1_COMMON *cm, int block_size, int w, int h, unsigned int strength, - unsigned int fb_size_log2, uint8_t *res, int plane) { + unsigned int fb_size_log2, uint8_t *res) { int m, n, sum0 = 0, sum1 = 0; - const int subx = plane != AOM_PLANE_Y && rec->subsampling_x; - const int suby = plane != AOM_PLANE_Y && rec->subsampling_y; - uint8_t *rec_buffer = - plane != AOM_PLANE_Y - ? (plane == AOM_PLANE_U ? rec->u_buffer : rec->v_buffer) - : rec->y_buffer; - uint8_t *org_buffer = - plane != AOM_PLANE_Y - ? (plane == AOM_PLANE_U ? org->u_buffer : org->v_buffer) - : org->y_buffer; - int rec_width = plane != AOM_PLANE_Y ? rec->uv_crop_width : rec->y_crop_width; - int rec_height = - plane != AOM_PLANE_Y ? rec->uv_crop_height : rec->y_crop_height; - int rec_stride = plane != AOM_PLANE_Y ? rec->uv_stride : rec->y_stride; - int org_stride = plane != AOM_PLANE_Y ? org->uv_stride : org->y_stride; + for (m = 0; m < h; m++) { for (n = 0; n < w; n++) { int xpos = (l << fb_size_log2) + n * block_size; int ypos = (k << fb_size_log2) + m * block_size; - if (!cm->mi_grid_visible[(ypos << suby) / MI_SIZE * cm->mi_stride + - (xpos << subx) / MI_SIZE] + if (!cm->mi_grid_visible[ypos / MI_SIZE * cm->mi_stride + xpos / MI_SIZE] ->mbmi.skip) { #if CONFIG_AOM_HIGHBITDEPTH if (cm->use_highbitdepth) { - aom_clpf_detect_hbd( - CONVERT_TO_SHORTPTR(rec_buffer), CONVERT_TO_SHORTPTR(org_buffer), - rec_stride, org_stride, xpos, ypos, rec_width, rec_height, &sum0, - &sum1, strength, cm->bit_depth - 8, block_size); + aom_clpf_detect_hbd(CONVERT_TO_SHORTPTR(rec->y_buffer), + CONVERT_TO_SHORTPTR(org->y_buffer), rec->y_stride, + org->y_stride, xpos, ypos, rec->y_crop_width, + rec->y_crop_height, &sum0, &sum1, strength, + cm->bit_depth - 8, block_size); } else { - aom_clpf_detect(rec_buffer, org_buffer, rec_stride, org_stride, xpos, - ypos, rec_width, rec_height, &sum0, &sum1, strength, + aom_clpf_detect(rec->y_buffer, org->y_buffer, rec->y_stride, + org->y_stride, xpos, ypos, rec->y_crop_width, + rec->y_crop_height, &sum0, &sum1, strength, block_size); } #else - aom_clpf_detect(rec_buffer, org_buffer, rec_stride, org_stride, xpos, - ypos, rec_width, rec_height, &sum0, &sum1, strength, - block_size); + aom_clpf_detect(rec->y_buffer, org->y_buffer, rec->y_stride, + org->y_stride, xpos, ypos, rec->y_crop_width, + rec->y_crop_height, &sum0, &sum1, strength, block_size); #endif } } diff --git a/av1/encoder/clpf_rdo.h b/av1/encoder/clpf_rdo.h index 98b3c6765..bb85fbcea 100644 --- a/av1/encoder/clpf_rdo.h +++ b/av1/encoder/clpf_rdo.h @@ -17,7 +17,7 @@ int av1_clpf_decision(int k, int l, const YV12_BUFFER_CONFIG *rec, const YV12_BUFFER_CONFIG *org, const AV1_COMMON *cm, int block_size, int w, int h, unsigned int strength, - unsigned int fb_size_log2, uint8_t *res, int plane); + unsigned int fb_size_log2, uint8_t *res); void av1_clpf_test_frame(const YV12_BUFFER_CONFIG *rec, const YV12_BUFFER_CONFIG *org, const AV1_COMMON *cm,