FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
util_altivec.h File Reference

Contains misc utility macros and inline functions. More...

#include <stdint.h>
#include "config.h"
#include "types_altivec.h"

Go to the source code of this file.

Macros

#define WORD_0   0x00,0x01,0x02,0x03
 
#define WORD_1   0x04,0x05,0x06,0x07
 
#define WORD_2   0x08,0x09,0x0a,0x0b
 
#define WORD_3   0x0c,0x0d,0x0e,0x0f
 
#define WORD_s0   0x10,0x11,0x12,0x13
 
#define WORD_s1   0x14,0x15,0x16,0x17
 
#define WORD_s2   0x18,0x19,0x1a,0x1b
 
#define WORD_s3   0x1c,0x1d,0x1e,0x1f
 
#define vcprm(a, b, c, d)   (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
 
#define vcii(a, b, c, d)   (const vector float){FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d}
 
#define vcprmle(a, b, c, d)   vcprm(d,c,b,a)
 
#define FLOAT_n   -1.
 
#define FLOAT_p   1.
 
#define TRANSPOSE8(a, b, c, d, e, f, g, h)
 

Functions

static vector unsigned char unaligned_load (int offset, uint8_t *src)
 loads unaligned vector *src with offset offset and returns it
 
static vec_u8 load_with_perm_vec (int offset, uint8_t *src, vec_u8 perm_vec)
 loads vector known misalignment
 

Detailed Description

Contains misc utility macros and inline functions.

Definition in file util_altivec.h.

Macro Definition Documentation

#define WORD_0   0x00,0x01,0x02,0x03

Definition at line 39 of file util_altivec.h.

#define WORD_1   0x04,0x05,0x06,0x07

Definition at line 40 of file util_altivec.h.

#define WORD_2   0x08,0x09,0x0a,0x0b

Definition at line 41 of file util_altivec.h.

#define WORD_3   0x0c,0x0d,0x0e,0x0f

Definition at line 42 of file util_altivec.h.

#define WORD_s0   0x10,0x11,0x12,0x13

Definition at line 43 of file util_altivec.h.

#define WORD_s1   0x14,0x15,0x16,0x17

Definition at line 44 of file util_altivec.h.

#define WORD_s2   0x18,0x19,0x1a,0x1b

Definition at line 45 of file util_altivec.h.

#define WORD_s3   0x1c,0x1d,0x1e,0x1f

Definition at line 46 of file util_altivec.h.

#define vcprm (   a,
  b,
  c,
 
)    (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
#define vcii (   a,
  b,
  c,
 
)    (const vector float){FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d}

Definition at line 49 of file util_altivec.h.

#define vcprmle (   a,
  b,
  c,
 
)    vcprm(d,c,b,a)

Definition at line 54 of file util_altivec.h.

#define FLOAT_n   -1.

Definition at line 58 of file util_altivec.h.

#define FLOAT_p   1.

Definition at line 59 of file util_altivec.h.

#define TRANSPOSE8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
 
)

Function Documentation

static vector unsigned char unaligned_load ( int  offset,
uint8_t src 
)
inlinestatic

loads unaligned vector *src with offset offset and returns it

Definition at line 99 of file util_altivec.h.

static vec_u8 load_with_perm_vec ( int  offset,
uint8_t src,
vec_u8  perm_vec 
)
inlinestatic

loads vector known misalignment

Parameters
perm_vecthe align permute vector to combine the two loads from lvsl

Definition at line 111 of file util_altivec.h.

Referenced by put_vp8_epel_v_altivec_core().