Merge "Make CLPF handle frame widths and heights not divisible by 8." into nextgenv2
This commit is contained in:
Коммит
4da3ed40a3
|
@ -59,12 +59,12 @@ int av1_clpf_frame(const YV12_BUFFER_CONFIG *dst, const YV12_BUFFER_CONFIG *rec,
|
|||
/* Constrained low-pass filter (CLPF) */
|
||||
int c, k, l, m, n;
|
||||
const int bs = MI_SIZE;
|
||||
int width = cm->mi_cols * bs;
|
||||
int height = cm->mi_rows * bs;
|
||||
int width = rec->y_crop_width;
|
||||
int height = rec->y_crop_height;
|
||||
int xpos, ypos;
|
||||
int stride_y = rec->y_stride;
|
||||
int num_fb_hor = (width + (1 << fb_size_log2) - bs) >> fb_size_log2;
|
||||
int num_fb_ver = (height + (1 << fb_size_log2) - bs) >> fb_size_log2;
|
||||
int num_fb_hor = (width + (1 << fb_size_log2) - 1) >> fb_size_log2;
|
||||
int num_fb_ver = (height + (1 << fb_size_log2) - 1) >> fb_size_log2;
|
||||
int block_index = 0;
|
||||
|
||||
// Iterate over all filter blocks
|
||||
|
|
|
@ -187,7 +187,8 @@ void SIMD_FUNC(aom_clpf_block)(const uint8_t *src, uint8_t *dst, int stride,
|
|||
// This will only be used if 4:2:0 and width not a multiple of 16 and along
|
||||
// the right edge only, so we can fall back to the plain C implementation in
|
||||
// this case. If not extended to chroma, this test will be redundant.
|
||||
if (sizex != 8 || width < 16) { // Fallback to C if frame width < 16
|
||||
if (sizex != 8 || width < 16 || y0 + 8 > height || x0 + 8 > width) {
|
||||
// Fallback to C for odd sizes
|
||||
aom_clpf_block_c(src, dst, stride, x0, y0, sizex, sizey, width, height,
|
||||
strength);
|
||||
} else {
|
||||
|
|
Загрузка…
Ссылка в новой задаче