FFmpeg
|
#include "libavcodec/wasm/hevc/idct.h"
#include <wasm_simd128.h>
#include "libavutil/mem_internal.h"
Go to the source code of this file.
Macros | |
#define | tr_4x4_8(in0, in1, in2, in3, dst0, dst1, dst2, dst3, trans, half0, half1) |
#define | tr_8x4(src0, src1, half0, half1, trans, shift) |
#define | load16(x1, x3, x2, in0, in1, in2, in3) |
#define | bufferfly(e, o, p, m) |
#define | sum_sub(out, in0, in1, operation, half) out = wasm_i32x4_ ## operation (out, wasm_i32x4_extmul_ ## half ## _i16x8(in0, in1)); |
#define | add_member(in, t0, t1, t2, t3, t4, t5, t6, t7, op0, op1, op2, op3, op4, op5, op6, op7, half) |
#define | butterfly16(in0, in1, in2, in3, in4, in5, in6, in7) |
#define | add_member32(in, t0, t1, t2, t3, op0, op1, op2, op3, half) |
#define | butterfly32(in0, in1, in2, in3, out) |
Functions | |
static void | transpose_4x8h (v128_t *src) |
static void | transpose_8x8h (v128_t *src) |
static void | tr_4x4 (v128_t *src, v128_t *trans, int shift) |
static void | idct_4x4 (int16_t *coeffs, int bit_depth) |
void | ff_hevc_idct_4x4_8_simd128 (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_4x4_10_simd128 (int16_t *coeffs, int col_limit) |
static void | shift_narrow_low (v128_t src, v128_t *dst, v128_t add, int shift) |
static void | shift_narrow_high (v128_t src, v128_t *dst, v128_t add, int shift) |
static void | idct_8x8 (int16_t *coeffs, int bit_depth) |
void | ff_hevc_idct_8x8_8_simd128 (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_8x8_10_simd128 (int16_t *coeffs, int col_limit) |
static void | tr16_8x4 (v128_t in0, v128_t in1, v128_t in2, v128_t in3, const v128_t *trans, char *sp, int offset) |
static void | scale (v128_t *out0, v128_t *out1, v128_t *out2, v128_t *out3, v128_t in0, v128_t in1, v128_t in2, v128_t in3, v128_t in4, v128_t in5, v128_t in6, v128_t in7, int shift) |
static void | transpose16_4x4_2 (v128_t *r0, v128_t *r1, v128_t *r2, v128_t *r3) |
static void | store16 (v128_t in0, v128_t in1, v128_t in2, v128_t in3, char *x1, char *x3, int x1_step, int x3_step) |
static void | store_to_stack (char *sp, int off1, int off2, v128_t in0, v128_t in2, v128_t in4, v128_t in6, v128_t in7, v128_t in5, v128_t in3, v128_t in1) |
static void | tr_16x4 (char *src, char *buf, char *sp, int shift, int offset, int step) |
static void | idct_16x16 (char *coeffs, int bit_depth) |
void | ff_hevc_idct_16x16_8_simd128 (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_16x16_10_simd128 (int16_t *coeffs, int col_limit) |
static void | tr_32x4 (char *x5, char *x11, char *sp, int shift) |
static void | idct_32x32 (char *coeffs, int bit_depth) |
void | ff_hevc_idct_32x32_8_simd128 (int16_t *coeffs, int col_limit) |
void | ff_hevc_idct_32x32_10_simd128 (int16_t *coeffs, int col_limit) |
Variables | |
static const int8_t | transform [] |
#define tr_4x4_8 | ( | in0, | |
in1, | |||
in2, | |||
in3, | |||
dst0, | |||
dst1, | |||
dst2, | |||
dst3, | |||
trans, | |||
half0, | |||
half1 | |||
) |
#define load16 | ( | x1, | |
x3, | |||
x2, | |||
in0, | |||
in1, | |||
in2, | |||
in3 | |||
) |
#define bufferfly | ( | e, | |
o, | |||
p, | |||
m | |||
) |
#define add_member | ( | in, | |
t0, | |||
t1, | |||
t2, | |||
t3, | |||
t4, | |||
t5, | |||
t6, | |||
t7, | |||
op0, | |||
op1, | |||
op2, | |||
op3, | |||
op4, | |||
op5, | |||
op6, | |||
op7, | |||
half | |||
) |
#define butterfly16 | ( | in0, | |
in1, | |||
in2, | |||
in3, | |||
in4, | |||
in5, | |||
in6, | |||
in7 | |||
) |
#define add_member32 | ( | in, | |
t0, | |||
t1, | |||
t2, | |||
t3, | |||
op0, | |||
op1, | |||
op2, | |||
op3, | |||
half | |||
) |
#define butterfly32 | ( | in0, | |
in1, | |||
in2, | |||
in3, | |||
out | |||
) |
|
inlinestatic |
Definition at line 34 of file idct.c.
Referenced by idct_4x4(), and transpose_8x8h().
|
inlinestatic |
Definition at line 47 of file idct.c.
Referenced by idct_8x8().
|
inlinestatic |
Definition at line 53 of file idct.c.
Referenced by idct_4x4().
|
static |
Definition at line 91 of file idct.c.
Referenced by ff_hevc_idct_4x4_10_simd128(), and ff_hevc_idct_4x4_8_simd128().
void ff_hevc_idct_4x4_8_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 118 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
void ff_hevc_idct_4x4_10_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 123 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
|
inlinestatic |
|
inlinestatic |
|
static |
Definition at line 210 of file idct.c.
Referenced by ff_hevc_idct_8x8_10_simd128(), and ff_hevc_idct_8x8_8_simd128().
void ff_hevc_idct_8x8_8_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 254 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
void ff_hevc_idct_8x8_10_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 259 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 463 of file idct.c.
Referenced by idct_16x16(), and tr_32x4().
|
static |
Definition at line 579 of file idct.c.
Referenced by ff_hevc_idct_16x16_10_simd128(), and ff_hevc_idct_16x16_8_simd128().
void ff_hevc_idct_16x16_8_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 596 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
void ff_hevc_idct_16x16_10_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 601 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
|
static |
Definition at line 622 of file idct.c.
Referenced by idct_32x32().
|
static |
Definition at line 843 of file idct.c.
Referenced by ff_hevc_idct_32x32_10_simd128(), and ff_hevc_idct_32x32_8_simd128().
void ff_hevc_idct_32x32_8_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 861 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
void ff_hevc_idct_32x32_10_simd128 | ( | int16_t * | coeffs, |
int | col_limit | ||
) |
Definition at line 866 of file idct.c.
Referenced by ff_hevc_dsp_init_wasm().
|
static |
Definition at line 27 of file idct.c.
Referenced by idct_4x4(), idct_8x8(), tr_16x4(), and tr_32x4().