FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
swscale_altivec.c File Reference
#include <inttypes.h>
#include "config.h"
#include "libswscale/swscale.h"
#include "libswscale/swscale_internal.h"
#include "libavutil/attributes.h"
#include "libavutil/cpu.h"
#include "yuv2rgb_altivec.h"

Go to the source code of this file.

Macros

#define vzero   vec_splat_s32(0)
 
#define yuv2planeX_8(d1, d2, l1, src, x, perm, filter)
 

Functions

static void yuv2planeX_16_altivec (const int16_t *filter, int filterSize, const int16_t **src, uint8_t *dest, const uint8_t *dither, int offset, int x)
 
static void yuv2planeX_u (const int16_t *filter, int filterSize, const int16_t **src, uint8_t *dest, int dstW, const uint8_t *dither, int offset, int x)
 
static void yuv2planeX_altivec (const int16_t *filter, int filterSize, const int16_t **src, uint8_t *dest, int dstW, const uint8_t *dither, int offset)
 
static void hScale_altivec_real (SwsContext *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize)
 
av_cold void ff_sws_init_swScale_altivec (SwsContext *c)
 

Macro Definition Documentation

#define vzero   vec_splat_s32(0)
#define yuv2planeX_8 (   d1,
  d2,
  l1,
  src,
  x,
  perm,
  filter 
)
Value:
do { \
vector signed short l2 = vec_ld(((x) << 1) + 16, src); \
vector signed short ls = vec_perm(l1, l2, perm); \
vector signed int i1 = vec_mule(filter, ls); \
vector signed int i2 = vec_mulo(filter, ls); \
vector signed int vf1 = vec_mergeh(i1, i2); \
vector signed int vf2 = vec_mergel(i1, i2); \
d1 = vec_add(d1, vf1); \
d2 = vec_add(d2, vf2); \
l1 = l2; \
} while (0)

Definition at line 35 of file swscale_altivec.c.

Referenced by yuv2planeX_16_altivec().

Function Documentation

static void yuv2planeX_16_altivec ( const int16_t *  filter,
int  filterSize,
const int16_t **  src,
uint8_t dest,
const uint8_t dither,
int  offset,
int  x 
)
static

Definition at line 47 of file swscale_altivec.c.

Referenced by yuv2planeX_altivec().

static void yuv2planeX_u ( const int16_t *  filter,
int  filterSize,
const int16_t **  src,
uint8_t dest,
int  dstW,
const uint8_t dither,
int  offset,
int  x 
)
inlinestatic

Definition at line 90 of file swscale_altivec.c.

Referenced by yuv2planeX_altivec().

static void yuv2planeX_altivec ( const int16_t *  filter,
int  filterSize,
const int16_t **  src,
uint8_t dest,
int  dstW,
const uint8_t dither,
int  offset 
)
static

Definition at line 104 of file swscale_altivec.c.

Referenced by ff_sws_init_swScale_altivec().

static void hScale_altivec_real ( SwsContext c,
int16_t *  dst,
int  dstW,
const uint8_t src,
const int16_t *  filter,
const int32_t filterPos,
int  filterSize 
)
static

Definition at line 120 of file swscale_altivec.c.

Referenced by ff_sws_init_swScale_altivec().

av_cold void ff_sws_init_swScale_altivec ( SwsContext c)

Definition at line 288 of file swscale_altivec.c.

Referenced by ff_getSwsFunc().