diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2019-09-05 21:42:36 +0300 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2019-09-10 21:20:38 +0300 |
commit | 99307bf33d25d8ca3c0a6b6ce51883936de37047 (patch) | |
tree | 31ab7586f00277f95e63ed7c01ab1c197ba53333 /src/film_grain.h | |
parent | 04ca711268a4f3079bab7457acb45f333c24f2c3 (diff) |
Y grain AVX2 implementations
fgy_32x32xn_8bpc_c: 16181.8
fgy_32x32xn_8bpc_avx2: 3231.4
gen_grain_y_ar0_8bpc_c: 108857.6
gen_grain_y_ar0_8bpc_avx2: 22826.7
gen_grain_y_ar1_8bpc_c: 168239.8
gen_grain_y_ar1_8bpc_avx2: 72117.2
gen_grain_y_ar2_8bpc_c: 266165.9
gen_grain_y_ar2_8bpc_avx2: 126281.8
gen_grain_y_ar3_8bpc_c: 448139.4
gen_grain_y_ar3_8bpc_avx2: 137047.1
Diffstat (limited to 'src/film_grain.h')
-rw-r--r-- | src/film_grain.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/film_grain.h b/src/film_grain.h index 8b16648..fb1bb8e 100644 --- a/src/film_grain.h +++ b/src/film_grain.h @@ -44,21 +44,21 @@ typedef int16_t entry; #endif #define decl_generate_grain_y_fn(name) \ -void (name)(entry buf[GRAIN_HEIGHT][GRAIN_WIDTH], \ +void (name)(entry buf[][GRAIN_WIDTH], \ const Dav1dFilmGrainData *const data HIGHBD_DECL_SUFFIX) typedef decl_generate_grain_y_fn(*generate_grain_y_fn); #define decl_generate_grain_uv_fn(name) \ -void (name)(entry buf[GRAIN_HEIGHT][GRAIN_WIDTH], \ - const entry buf_y[GRAIN_HEIGHT][GRAIN_WIDTH], \ +void (name)(entry buf[][GRAIN_WIDTH], \ + const entry buf_y[][GRAIN_WIDTH], \ const Dav1dFilmGrainData *const data, const int uv HIGHBD_DECL_SUFFIX) typedef decl_generate_grain_uv_fn(*generate_grain_uv_fn); #define decl_fgy_32x32xn_fn(name) \ void (name)(pixel *dst_row, const pixel *src_row, ptrdiff_t stride, \ const Dav1dFilmGrainData *data, \ - int pw, const uint8_t scaling[SCALING_SIZE], \ - const entry grain_lut[GRAIN_HEIGHT][GRAIN_WIDTH], \ + size_t pw, const uint8_t scaling[SCALING_SIZE], \ + const entry grain_lut[][GRAIN_WIDTH], \ int bh, int row_num HIGHBD_DECL_SUFFIX) typedef decl_fgy_32x32xn_fn(*fgy_32x32xn_fn); @@ -66,7 +66,7 @@ typedef decl_fgy_32x32xn_fn(*fgy_32x32xn_fn); void (name)(pixel *dst_row, const pixel *src_row, ptrdiff_t stride, \ const pixel *luma_row, ptrdiff_t luma_stride, int pw, int bh, \ const Dav1dFilmGrainData *data, \ - const entry grain_lut[GRAIN_HEIGHT][GRAIN_WIDTH], \ + const entry grain_lut[][GRAIN_WIDTH], \ const uint8_t scaling[SCALING_SIZE], \ int uv_pl, int row_num, int is_id HIGHBD_DECL_SUFFIX) typedef decl_fguv_32x32xn_fn(*fguv_32x32xn_fn); @@ -80,5 +80,6 @@ typedef struct Dav1dFilmGrainDSPContext { } Dav1dFilmGrainDSPContext; bitfn_decls(void dav1d_film_grain_dsp_init, Dav1dFilmGrainDSPContext *c); +bitfn_decls(void dav1d_film_grain_dsp_init_x86, Dav1dFilmGrainDSPContext *c); #endif /* DAV1D_SRC_FILM_GRAIN_H */ |