Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2019-09-05 21:42:36 +0300
committerRonald S. Bultje <rsbultje@gmail.com>2019-09-10 21:20:38 +0300
commit99307bf33d25d8ca3c0a6b6ce51883936de37047 (patch)
tree31ab7586f00277f95e63ed7c01ab1c197ba53333 /src/film_grain.h
parent04ca711268a4f3079bab7457acb45f333c24f2c3 (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.h13
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 */