55 #define DUP4(x) {x, x, x, x}
56 #define DUP8(x) {x, x, x, x, x, x, x, x}
67 {256, 1024, 256, 1024};
165 int stride_8 = stride + 8;
188 height = (height >> 1) - 1;
341 height = (height >> 1) - 1;
417 unsigned long off = (
unsigned long) ref & 0x7;
418 unsigned long off_plus_1 = off + 1;
446 height = (height >> 1) - 1;
609 unsigned long off = (
unsigned long) ref & 0x7;
610 unsigned long off_plus_1 = off + 1;
633 height = (height >> 1) - 1;
732 unsigned long off = (
unsigned long) ref & 0x7;
733 unsigned long off_plus_1 = off + 1;
822 unsigned long off = (
unsigned long) ref & 0x7;
823 unsigned long off_plus_1 = off + 1;
824 int stride_times_2 = stride << 1;
1011 height = (height >> 1) - 1;
1159 height = (height >> 1) - 1;
1231 int stride_8 = stride + 8;
1232 int stride_16 = stride + 16;
1359 int stride_8 = stride + 8;
1438 unsigned long off = (
unsigned long) ref & 0x7;
1439 unsigned long off_plus_1 = off + 1;
1440 int stride_8 = stride + 8;
1441 int stride_16 = stride + 16;
1602 unsigned long off = (
unsigned long) ref & 0x7;
1603 unsigned long off_plus_1 = off + 1;
1604 int stride_8 = stride + 8;
1706 unsigned long off = (
unsigned long) ref & 0x7;
1707 unsigned long off_plus_1 = off + 1;
1708 int stride_8 = stride + 8;
1709 int stride_16 = stride + 16;
1902 unsigned long off = (
unsigned long) ref & 0x7;
1903 unsigned long off_plus_1 = off + 1;
1904 int stride_8 = stride + 8;
2085 int stride_8 = stride + 8;
2108 height = (height >> 1) - 1;
2261 height = (height >> 1) - 1;
2337 unsigned long off = (
unsigned long) ref & 0x7;
2338 unsigned long off_plus_1 = off + 1;
2366 height = (height >> 1) - 1;
2529 unsigned long off = (
unsigned long) ref & 0x7;
2530 unsigned long off_plus_1 = off + 1;
2553 height = (height >> 1) - 1;
2652 unsigned long off = (
unsigned long) ref & 0x7;
2653 unsigned long off_plus_1 = off + 1;
2742 unsigned long off = (
unsigned long) ref & 0x7;
2743 unsigned long off_plus_1 = off + 1;
2744 int stride_times_2 = stride << 1;
2931 height = (height >> 1) - 1;
3079 height = (height >> 1) - 1;
3151 int stride_8 = stride + 8;
3152 int stride_16 = stride + 16;
3279 int stride_8 = stride + 8;
3358 unsigned long off = (
unsigned long) ref & 0x7;
3359 unsigned long off_plus_1 = off + 1;
3360 int stride_8 = stride + 8;
3361 int stride_16 = stride + 16;
3522 unsigned long off = (
unsigned long) ref & 0x7;
3523 unsigned long off_plus_1 = off + 1;
3524 int stride_8 = stride + 8;
3626 unsigned long off = (
unsigned long) ref & 0x7;
3627 unsigned long off_plus_1 = off + 1;
3628 int stride_8 = stride + 8;
3629 int stride_16 = stride + 16;
3822 unsigned long off = (
unsigned long) ref & 0x7;
3823 unsigned long off_plus_1 = off + 1;
3824 int stride_8 = stride + 8;
3941 #define ACCEL_SPARC_VIS 1
3942 #define ACCEL_SPARC_VIS2 2
3968 if (!high_bit_depth) {
op_pixels_func put_pixels_tab[4][4]
Halfpel motion compensation with rounding (a+b+1)>>1.
#define vis_ld64_2(mem1, mem2, rs1)
#define vis_padd16(rs1, rs2, rd)
static const int16_t constants3[]
memory handling functions
void(* idct_add)(uint8_t *dest, int line_size, DCTELEM *block)
block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
static void MC_put_y_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define FF_IDCT_SIMPLEVIS
#define vis_faligndata(rs1, rs2, rd)
static void MC_avg_no_round_o_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
static void MC_put_xy_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_avg_o_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static const void * vis_alignaddr(const void *_ptr)
static void MC_put_xy_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
void ff_dsputil_init_vis(DSPContext *c, AVCodecContext *avctx)
#define vis_xor(rs1, rs2, rd)
static void MC_avg_xy_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define vis_src1(rs1, rd)
op_pixels_func avg_pixels_tab[4][4]
Halfpel motion compensation with rounding (a+b+1)>>1.
static const int8_t constants_7f[]
#define vis_mul8x16al(rs1, rs2, rd)
static const int8_t constants_fe[]
static const int16_t constants256_512[]
static void MC_put_no_round_x_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
void ff_simple_idct_vis(DCTELEM *data)
#define vis_ld64(mem, rs1)
void ff_simple_idct_add_vis(uint8_t *dest, int line_size, DCTELEM *data)
static const int16_t constants256_1024[]
static void MC_avg_x_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
void(* idct_put)(uint8_t *dest, int line_size, DCTELEM *block)
block -> idct -> clip to unsigned 8 bit -> dest.
static void MC_put_no_round_o_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_avg_y_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
op_pixels_func put_no_rnd_pixels_tab[4][4]
Halfpel motion compensation with no rounding (a+b)>>1.
void(* idct)(DCTELEM *block)
static void MC_avg_no_round_xy_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_put_o_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_put_no_round_o_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
#define vis_pack16(rs2, rd)
static void MC_avg_y_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define vis_and(rs1, rs2, rd)
#define VIS_GSR_SCALEFACT_SHIFT
static void MC_put_no_round_y_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static const int16_t constants1[]
static void vis_set_gsr(unsigned int _val)
static void MC_avg_no_round_y_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_put_no_round_y_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static const int8_t constants128[]
static void MC_avg_no_round_x_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
op_pixels_func avg_no_rnd_pixels_tab[4][4]
Halfpel motion compensation with no rounding (a+b)>>1.
static void MC_put_x_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static const int16_t constants6[]
int idct_permutation_type
main external API structure.
static int vis_level(void)
#define vis_mul8x16(rs1, rs2, rd)
static void MC_put_x_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_avg_o_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define vis_or(rs1, rs2, rd)
static void vis_alignaddr_g0(void *_ptr)
static void MC_avg_xy_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define DECLARE_ALIGNED(n, t, v)
static void MC_avg_no_round_o_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static const int16_t constants2[]
#define vis_st64_2(rs1, mem1, mem2)
void ff_simple_idct_put_vis(uint8_t *dest, int line_size, DCTELEM *data)
#define vis_pmerge(rs1, rs2, rd)
#define vis_mul8x16au(rs1, rs2, rd)
static void MC_put_y_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_avg_no_round_y_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_put_no_round_xy_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_put_o_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define vis_psub16(rs1, rs2, rd)
static void MC_put_no_round_x_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define FF_TRANSPOSE_IDCT_PERM
static void MC_put_no_round_xy_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
#define vis_st64(rs1, mem)
static void MC_avg_x_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_avg_no_round_x_8_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)
static void MC_avg_no_round_xy_16_vis(uint8_t *dest, const uint8_t *ref, const int stride, int height)