Some cosmetic improvements since HBD variance 4x4 optimization
Change-Id: I414c1fabd2e3a9b1d9daa8a90f85a0bace8bd3cd
This commit is contained in:
@@ -367,8 +367,8 @@ static unsigned int setup_center_error(const MACROBLOCKD *xd,
|
|||||||
if (second_pred != NULL) {
|
if (second_pred != NULL) {
|
||||||
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) {
|
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) {
|
||||||
DECLARE_ALIGNED(16, uint16_t, comp_pred16[MAX_SB_SQUARE]);
|
DECLARE_ALIGNED(16, uint16_t, comp_pred16[MAX_SB_SQUARE]);
|
||||||
vpx_highbd_comp_avg_pred_c(comp_pred16, second_pred, w, h, y + offset,
|
vpx_highbd_comp_avg_pred(comp_pred16, second_pred, w, h, y + offset,
|
||||||
y_stride);
|
y_stride);
|
||||||
besterr = vfp->vf(CONVERT_TO_BYTEPTR(comp_pred16), w, src, src_stride,
|
besterr = vfp->vf(CONVERT_TO_BYTEPTR(comp_pred16), w, src, src_stride,
|
||||||
sse1);
|
sse1);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -433,7 +433,7 @@ uint32_t vpx_highbd_12_mse##W##x##H##_c(const uint8_t *src, \
|
|||||||
return *sse; \
|
return *sse; \
|
||||||
}
|
}
|
||||||
|
|
||||||
void highbd_var_filter_block2d_bil_first_pass(
|
void vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
const uint8_t *src_ptr8,
|
const uint8_t *src_ptr8,
|
||||||
uint16_t *output_ptr,
|
uint16_t *output_ptr,
|
||||||
unsigned int src_pixels_per_line,
|
unsigned int src_pixels_per_line,
|
||||||
@@ -459,7 +459,7 @@ void highbd_var_filter_block2d_bil_first_pass(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void highbd_var_filter_block2d_bil_second_pass(
|
void vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
const uint16_t *src_ptr,
|
const uint16_t *src_ptr,
|
||||||
uint16_t *output_ptr,
|
uint16_t *output_ptr,
|
||||||
unsigned int src_pixels_per_line,
|
unsigned int src_pixels_per_line,
|
||||||
@@ -492,13 +492,14 @@ uint32_t vpx_highbd_8_sub_pixel_variance##W##x##H##_c( \
|
|||||||
uint16_t fdata3[(H + 1) * W]; \
|
uint16_t fdata3[(H + 1) * W]; \
|
||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, H + 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass( \
|
||||||
W, bilinear_filters_2t[xoffset]); \
|
src, fdata3, src_stride, 1, H + 1, \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
W, bilinear_filters_2t[xoffset]); \
|
||||||
bilinear_filters_2t[yoffset]); \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
return vpx_highbd_8_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), W, dst, \
|
return vpx_highbd_8_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), W, dst, \
|
||||||
dst_stride, sse); \
|
dst_stride, sse); \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
uint32_t vpx_highbd_10_sub_pixel_variance##W##x##H##_c( \
|
uint32_t vpx_highbd_10_sub_pixel_variance##W##x##H##_c( \
|
||||||
@@ -509,10 +510,11 @@ uint32_t vpx_highbd_10_sub_pixel_variance##W##x##H##_c( \
|
|||||||
uint16_t fdata3[(H + 1) * W]; \
|
uint16_t fdata3[(H + 1) * W]; \
|
||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, H + 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass( \
|
||||||
W, bilinear_filters_2t[xoffset]); \
|
src, fdata3, src_stride, 1, H + 1, \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
W, bilinear_filters_2t[xoffset]); \
|
||||||
bilinear_filters_2t[yoffset]); \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
return vpx_highbd_10_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
return vpx_highbd_10_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
||||||
W, dst, dst_stride, sse); \
|
W, dst, dst_stride, sse); \
|
||||||
@@ -526,10 +528,11 @@ uint32_t vpx_highbd_12_sub_pixel_variance##W##x##H##_c( \
|
|||||||
uint16_t fdata3[(H + 1) * W]; \
|
uint16_t fdata3[(H + 1) * W]; \
|
||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, H + 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass( \
|
||||||
W, bilinear_filters_2t[xoffset]); \
|
src, fdata3, src_stride, 1, H + 1, \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
W, bilinear_filters_2t[xoffset]); \
|
||||||
bilinear_filters_2t[yoffset]); \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
return vpx_highbd_12_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
return vpx_highbd_12_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
||||||
W, dst, dst_stride, sse); \
|
W, dst, dst_stride, sse); \
|
||||||
@@ -546,16 +549,17 @@ uint32_t vpx_highbd_8_sub_pixel_avg_variance##W##x##H##_c( \
|
|||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
DECLARE_ALIGNED(16, uint16_t, temp3[H * W]); \
|
DECLARE_ALIGNED(16, uint16_t, temp3[H * W]); \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, H + 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass( \
|
||||||
W, bilinear_filters_2t[xoffset]); \
|
src, fdata3, src_stride, 1, H + 1, \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
W, bilinear_filters_2t[xoffset]); \
|
||||||
bilinear_filters_2t[yoffset]); \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
vpx_highbd_comp_avg_pred_c(temp3, second_pred, W, H, \
|
vpx_highbd_comp_avg_pred_c(temp3, second_pred, W, H, \
|
||||||
CONVERT_TO_BYTEPTR(temp2), W); \
|
CONVERT_TO_BYTEPTR(temp2), W); \
|
||||||
\
|
\
|
||||||
return vpx_highbd_8_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp3), W, dst, \
|
return vpx_highbd_8_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp3), W, dst, \
|
||||||
dst_stride, sse); \
|
dst_stride, sse); \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
uint32_t vpx_highbd_10_sub_pixel_avg_variance##W##x##H##_c( \
|
uint32_t vpx_highbd_10_sub_pixel_avg_variance##W##x##H##_c( \
|
||||||
@@ -568,10 +572,11 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance##W##x##H##_c( \
|
|||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
DECLARE_ALIGNED(16, uint16_t, temp3[H * W]); \
|
DECLARE_ALIGNED(16, uint16_t, temp3[H * W]); \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, H + 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass( \
|
||||||
W, bilinear_filters_2t[xoffset]); \
|
src, fdata3, src_stride, 1, H + 1, \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
W, bilinear_filters_2t[xoffset]); \
|
||||||
bilinear_filters_2t[yoffset]); \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
vpx_highbd_comp_avg_pred_c(temp3, second_pred, W, H, \
|
vpx_highbd_comp_avg_pred_c(temp3, second_pred, W, H, \
|
||||||
CONVERT_TO_BYTEPTR(temp2), W); \
|
CONVERT_TO_BYTEPTR(temp2), W); \
|
||||||
@@ -590,10 +595,11 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance##W##x##H##_c( \
|
|||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
DECLARE_ALIGNED(16, uint16_t, temp3[H * W]); \
|
DECLARE_ALIGNED(16, uint16_t, temp3[H * W]); \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, H + 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass( \
|
||||||
W, bilinear_filters_2t[xoffset]); \
|
src, fdata3, src_stride, 1, H + 1, \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
W, bilinear_filters_2t[xoffset]); \
|
||||||
bilinear_filters_2t[yoffset]); \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
vpx_highbd_comp_avg_pred_c(temp3, second_pred, W, H, \
|
vpx_highbd_comp_avg_pred_c(temp3, second_pred, W, H, \
|
||||||
CONVERT_TO_BYTEPTR(temp2), W); \
|
CONVERT_TO_BYTEPTR(temp2), W); \
|
||||||
@@ -914,11 +920,11 @@ unsigned int vpx_highbd_masked_sub_pixel_variance##W##x##H##_c( \
|
|||||||
uint16_t fdata3[(H + 1) * W]; \
|
uint16_t fdata3[(H + 1) * W]; \
|
||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, \
|
||||||
H + 1, W, \
|
H + 1, W, \
|
||||||
bilinear_filters_2t[xoffset]); \
|
bilinear_filters_2t[xoffset]); \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
bilinear_filters_2t[yoffset]); \
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
return vpx_highbd_masked_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
return vpx_highbd_masked_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
||||||
W, dst, dst_stride, \
|
W, dst, dst_stride, \
|
||||||
@@ -934,11 +940,11 @@ unsigned int vpx_highbd_10_masked_sub_pixel_variance##W##x##H##_c( \
|
|||||||
uint16_t fdata3[(H + 1) * W]; \
|
uint16_t fdata3[(H + 1) * W]; \
|
||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, \
|
||||||
H + 1, W, \
|
H + 1, W, \
|
||||||
bilinear_filters_2t[xoffset]); \
|
bilinear_filters_2t[xoffset]); \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
bilinear_filters_2t[yoffset]); \
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
return vpx_highbd_10_masked_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
return vpx_highbd_10_masked_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
||||||
W, dst, dst_stride, \
|
W, dst, dst_stride, \
|
||||||
@@ -954,11 +960,11 @@ unsigned int vpx_highbd_12_masked_sub_pixel_variance##W##x##H##_c( \
|
|||||||
uint16_t fdata3[(H + 1) * W]; \
|
uint16_t fdata3[(H + 1) * W]; \
|
||||||
uint16_t temp2[H * W]; \
|
uint16_t temp2[H * W]; \
|
||||||
\
|
\
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, \
|
vpx_highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, \
|
||||||
H + 1, W, \
|
H + 1, W, \
|
||||||
bilinear_filters_2t[xoffset]); \
|
bilinear_filters_2t[xoffset]); \
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
vpx_highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, W, W, H, W, \
|
||||||
bilinear_filters_2t[yoffset]); \
|
bilinear_filters_2t[yoffset]); \
|
||||||
\
|
\
|
||||||
return vpx_highbd_12_masked_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
return vpx_highbd_12_masked_variance##W##x##H##_c(CONVERT_TO_BYTEPTR(temp2), \
|
||||||
W, dst, dst_stride, \
|
W, dst, dst_stride, \
|
||||||
|
@@ -130,7 +130,7 @@ typedef struct vp10_variance_vtable {
|
|||||||
} vp10_variance_fn_ptr_t;
|
} vp10_variance_fn_ptr_t;
|
||||||
#endif // CONFIG_VP10
|
#endif // CONFIG_VP10
|
||||||
|
|
||||||
void highbd_var_filter_block2d_bil_first_pass(
|
void vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
const uint8_t *src_ptr8,
|
const uint8_t *src_ptr8,
|
||||||
uint16_t *output_ptr,
|
uint16_t *output_ptr,
|
||||||
unsigned int src_pixels_per_line,
|
unsigned int src_pixels_per_line,
|
||||||
@@ -139,7 +139,7 @@ void highbd_var_filter_block2d_bil_first_pass(
|
|||||||
unsigned int output_width,
|
unsigned int output_width,
|
||||||
const uint8_t *filter);
|
const uint8_t *filter);
|
||||||
|
|
||||||
void highbd_var_filter_block2d_bil_second_pass(
|
void vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
const uint16_t *src_ptr,
|
const uint16_t *src_ptr,
|
||||||
uint16_t *output_ptr,
|
uint16_t *output_ptr,
|
||||||
unsigned int src_pixels_per_line,
|
unsigned int src_pixels_per_line,
|
||||||
|
@@ -119,10 +119,12 @@ uint32_t vpx_highbd_8_sub_pixel_variance4x4_sse4_1(
|
|||||||
uint16_t fdata3[(4 + 1) * 4];
|
uint16_t fdata3[(4 + 1) * 4];
|
||||||
uint16_t temp2[4 * 4];
|
uint16_t temp2[4 * 4];
|
||||||
|
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, 4 + 1,
|
vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
4, bilinear_filters_2t[xoffset]);
|
src, fdata3, src_stride, 1, 4 + 1,
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, 4, 4, 4, 4,
|
4, bilinear_filters_2t[xoffset]);
|
||||||
bilinear_filters_2t[yoffset]);
|
vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
|
fdata3, temp2, 4, 4, 4, 4,
|
||||||
|
bilinear_filters_2t[yoffset]);
|
||||||
|
|
||||||
return vpx_highbd_8_variance4x4(CONVERT_TO_BYTEPTR(temp2),
|
return vpx_highbd_8_variance4x4(CONVERT_TO_BYTEPTR(temp2),
|
||||||
4, dst, dst_stride, sse);
|
4, dst, dst_stride, sse);
|
||||||
@@ -137,10 +139,12 @@ uint32_t vpx_highbd_10_sub_pixel_variance4x4_sse4_1(
|
|||||||
uint16_t fdata3[(4 + 1) * 4];
|
uint16_t fdata3[(4 + 1) * 4];
|
||||||
uint16_t temp2[4 * 4];
|
uint16_t temp2[4 * 4];
|
||||||
|
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, 4 + 1,
|
vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
4, bilinear_filters_2t[xoffset]);
|
src, fdata3, src_stride, 1, 4 + 1,
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, 4, 4, 4, 4,
|
4, bilinear_filters_2t[xoffset]);
|
||||||
bilinear_filters_2t[yoffset]);
|
vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
|
fdata3, temp2, 4, 4, 4, 4,
|
||||||
|
bilinear_filters_2t[yoffset]);
|
||||||
|
|
||||||
return vpx_highbd_10_variance4x4(CONVERT_TO_BYTEPTR(temp2),
|
return vpx_highbd_10_variance4x4(CONVERT_TO_BYTEPTR(temp2),
|
||||||
4, dst, dst_stride, sse);
|
4, dst, dst_stride, sse);
|
||||||
@@ -155,10 +159,12 @@ uint32_t vpx_highbd_12_sub_pixel_variance4x4_sse4_1(
|
|||||||
uint16_t fdata3[(4 + 1) * 4];
|
uint16_t fdata3[(4 + 1) * 4];
|
||||||
uint16_t temp2[4 * 4];
|
uint16_t temp2[4 * 4];
|
||||||
|
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, 4 + 1,
|
vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
4, bilinear_filters_2t[xoffset]);
|
src, fdata3, src_stride, 1, 4 + 1,
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, 4, 4, 4, 4,
|
4, bilinear_filters_2t[xoffset]);
|
||||||
bilinear_filters_2t[yoffset]);
|
vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
|
fdata3, temp2, 4, 4, 4, 4,
|
||||||
|
bilinear_filters_2t[yoffset]);
|
||||||
|
|
||||||
return vpx_highbd_12_variance4x4(CONVERT_TO_BYTEPTR(temp2),
|
return vpx_highbd_12_variance4x4(CONVERT_TO_BYTEPTR(temp2),
|
||||||
4, dst, dst_stride, sse);
|
4, dst, dst_stride, sse);
|
||||||
@@ -177,13 +183,15 @@ uint32_t vpx_highbd_8_sub_pixel_avg_variance4x4_sse4_1(
|
|||||||
uint16_t temp2[4 * 4];
|
uint16_t temp2[4 * 4];
|
||||||
DECLARE_ALIGNED(16, uint16_t, temp3[4 * 4]);
|
DECLARE_ALIGNED(16, uint16_t, temp3[4 * 4]);
|
||||||
|
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, 4 + 1,
|
vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
4, bilinear_filters_2t[xoffset]);
|
src, fdata3, src_stride, 1, 4 + 1,
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, 4, 4, 4, 4,
|
4, bilinear_filters_2t[xoffset]);
|
||||||
bilinear_filters_2t[yoffset]);
|
vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
|
fdata3, temp2, 4, 4, 4, 4,
|
||||||
|
bilinear_filters_2t[yoffset]);
|
||||||
|
|
||||||
vpx_highbd_comp_avg_pred_c(temp3, second_pred, 4, 4,
|
vpx_highbd_comp_avg_pred(temp3, second_pred, 4, 4,
|
||||||
CONVERT_TO_BYTEPTR(temp2), 4);
|
CONVERT_TO_BYTEPTR(temp2), 4);
|
||||||
|
|
||||||
return vpx_highbd_8_variance4x4(CONVERT_TO_BYTEPTR(temp3),
|
return vpx_highbd_8_variance4x4(CONVERT_TO_BYTEPTR(temp3),
|
||||||
4, dst, dst_stride, sse);
|
4, dst, dst_stride, sse);
|
||||||
@@ -200,13 +208,15 @@ uint32_t vpx_highbd_10_sub_pixel_avg_variance4x4_sse4_1(
|
|||||||
uint16_t temp2[4 * 4];
|
uint16_t temp2[4 * 4];
|
||||||
DECLARE_ALIGNED(16, uint16_t, temp3[4 * 4]);
|
DECLARE_ALIGNED(16, uint16_t, temp3[4 * 4]);
|
||||||
|
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, 4 + 1,
|
vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
4, bilinear_filters_2t[xoffset]);
|
src, fdata3, src_stride, 1, 4 + 1,
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, 4, 4, 4, 4,
|
4, bilinear_filters_2t[xoffset]);
|
||||||
bilinear_filters_2t[yoffset]);
|
vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
|
fdata3, temp2, 4, 4, 4, 4,
|
||||||
|
bilinear_filters_2t[yoffset]);
|
||||||
|
|
||||||
vpx_highbd_comp_avg_pred_c(temp3, second_pred, 4, 4,
|
vpx_highbd_comp_avg_pred(temp3, second_pred, 4, 4,
|
||||||
CONVERT_TO_BYTEPTR(temp2), 4);
|
CONVERT_TO_BYTEPTR(temp2), 4);
|
||||||
|
|
||||||
return vpx_highbd_10_variance4x4(CONVERT_TO_BYTEPTR(temp3),
|
return vpx_highbd_10_variance4x4(CONVERT_TO_BYTEPTR(temp3),
|
||||||
4, dst, dst_stride, sse);
|
4, dst, dst_stride, sse);
|
||||||
@@ -223,13 +233,15 @@ uint32_t vpx_highbd_12_sub_pixel_avg_variance4x4_sse4_1(
|
|||||||
uint16_t temp2[4 * 4];
|
uint16_t temp2[4 * 4];
|
||||||
DECLARE_ALIGNED(16, uint16_t, temp3[4 * 4]);
|
DECLARE_ALIGNED(16, uint16_t, temp3[4 * 4]);
|
||||||
|
|
||||||
highbd_var_filter_block2d_bil_first_pass(src, fdata3, src_stride, 1, 4 + 1,
|
vpx_highbd_var_filter_block2d_bil_first_pass(
|
||||||
4, bilinear_filters_2t[xoffset]);
|
src, fdata3, src_stride, 1, 4 + 1,
|
||||||
highbd_var_filter_block2d_bil_second_pass(fdata3, temp2, 4, 4, 4, 4,
|
4, bilinear_filters_2t[xoffset]);
|
||||||
bilinear_filters_2t[yoffset]);
|
vpx_highbd_var_filter_block2d_bil_second_pass(
|
||||||
|
fdata3, temp2, 4, 4, 4, 4,
|
||||||
|
bilinear_filters_2t[yoffset]);
|
||||||
|
|
||||||
vpx_highbd_comp_avg_pred_c(temp3, second_pred, 4, 4,
|
vpx_highbd_comp_avg_pred(temp3, second_pred, 4, 4,
|
||||||
CONVERT_TO_BYTEPTR(temp2), 4);
|
CONVERT_TO_BYTEPTR(temp2), 4);
|
||||||
|
|
||||||
return vpx_highbd_12_variance4x4(CONVERT_TO_BYTEPTR(temp3),
|
return vpx_highbd_12_variance4x4(CONVERT_TO_BYTEPTR(temp3),
|
||||||
4, dst, dst_stride, sse);
|
4, dst, dst_stride, sse);
|
||||||
|
Reference in New Issue
Block a user