FFmpeg
Macros | Typedefs | Enumerations | Functions | Variables
vf_fsppdsp.c File Reference
#include <stdint.h>
#include "vf_fsppdsp.h"
#include "libavutil/common.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem_internal.h"

Go to the source code of this file.

Macros

#define DCTSIZE   8
 
#define FIX(x, s)   (int)((x) * (1 << s) + 0.5)
 
#define MULTIPLY16H(x, k)   (((x) * (k)) >> 16)
 
#define THRESHOLD(r, x, t)
 
#define DESCALE(x, n)   (((x) + (1 << ((n) - 1))) >> n)
 
#define STORE(pos)
 
#define STORE2(pos)
 

Typedefs

typedef int32_t int_simd16_t
 

Enumerations

enum  {
  FIX_0_382683433 = FIX(0.382683433, 14), FIX_0_541196100 = FIX(0.541196100, 14), FIX_0_707106781 = FIX(M_SQRT1_2 , 14), FIX_1_306562965 = FIX(1.306562965, 14),
  FIX_1_414213562_A = FIX(M_SQRT2 , 14), FIX_1_847759065 = FIX(1.847759065, 13), FIX_2_613125930 = FIX(-2.613125930, 13), FIX_1_414213562 = FIX(M_SQRT2 , 13),
  FIX_1_082392200 = FIX(1.082392200, 13)
}
 

Functions

void ff_store_slice_c (uint8_t *restrict dst, int16_t *restrict src, ptrdiff_t dst_stride, ptrdiff_t src_stride, ptrdiff_t width, ptrdiff_t height, ptrdiff_t log2_scale)
 
void ff_store_slice2_c (uint8_t *restrict dst, int16_t *restrict src, ptrdiff_t dst_stride, ptrdiff_t src_stride, ptrdiff_t width, ptrdiff_t height, ptrdiff_t log2_scale)
 
void ff_mul_thrmat_c (const int16_t *restrict thr_adr_noq, int16_t *restrict thr_adr, int q)
 
void ff_column_fidct_c (const int16_t *restrict thr_adr, const int16_t *restrict data, int16_t *restrict output, int cnt)
 
void ff_row_idct_c (const int16_t *restrict wsptr, int16_t *restrict output_adr, ptrdiff_t output_stride, int cnt)
 
void ff_row_fdct_c (int16_t *restrict data, const uint8_t *restrict pixels, ptrdiff_t line_size, int cnt)
 

Variables

const uint8_t ff_fspp_dither [8][8]
 

Macro Definition Documentation

◆ DCTSIZE

#define DCTSIZE   8

Definition at line 31 of file vf_fsppdsp.c.

◆ FIX

#define FIX (   x,
  s 
)    (int)((x) * (1 << s) + 0.5)

Definition at line 33 of file vf_fsppdsp.c.

◆ MULTIPLY16H

#define MULTIPLY16H (   x,
 
)    (((x) * (k)) >> 16)

Definition at line 35 of file vf_fsppdsp.c.

◆ THRESHOLD

#define THRESHOLD (   r,
  x,
 
)
Value:
if (((unsigned)((x) + t)) >= t * 2) r = (x); \
else r = 0;

Definition at line 36 of file vf_fsppdsp.c.

◆ DESCALE

#define DESCALE (   x,
 
)    (((x) + (1 << ((n) - 1))) >> n)

Definition at line 39 of file vf_fsppdsp.c.

◆ STORE

#define STORE (   pos)
Value:
temp = (src[x + pos] + (d[pos] >> log2_scale)) >> (6 - log2_scale); \
src[x + pos] = src[x + pos - 8 * src_stride] = 0; \
temp = av_clip_uint8(temp); \
dst[x + pos] = temp;

◆ STORE2

#define STORE2 (   pos)
Value:
temp = (src[x + pos] + src[x + pos + 16 * src_stride] + (d[pos] >> log2_scale)) >> (6 - log2_scale); \
src[x + pos + 16 * src_stride] = 0; \
temp = av_clip_uint8(temp); \
dst[x + pos] = temp;

Typedef Documentation

◆ int_simd16_t

Definition at line 41 of file vf_fsppdsp.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FIX_0_382683433 
FIX_0_541196100 
FIX_0_707106781 
FIX_1_306562965 
FIX_1_414213562_A 
FIX_1_847759065 
FIX_2_613125930 
FIX_1_414213562 
FIX_1_082392200 

Definition at line 43 of file vf_fsppdsp.c.

Function Documentation

◆ ff_store_slice_c()

void ff_store_slice_c ( uint8_t *restrict  dst,
int16_t *restrict  src,
ptrdiff_t  dst_stride,
ptrdiff_t  src_stride,
ptrdiff_t  width,
ptrdiff_t  height,
ptrdiff_t  log2_scale 
)

Definition at line 67 of file vf_fsppdsp.c.

Referenced by ff_fsppdsp_init().

◆ ff_store_slice2_c()

void ff_store_slice2_c ( uint8_t *restrict  dst,
int16_t *restrict  src,
ptrdiff_t  dst_stride,
ptrdiff_t  src_stride,
ptrdiff_t  width,
ptrdiff_t  height,
ptrdiff_t  log2_scale 
)

Definition at line 96 of file vf_fsppdsp.c.

Referenced by ff_fsppdsp_init().

◆ ff_mul_thrmat_c()

void ff_mul_thrmat_c ( const int16_t *restrict  thr_adr_noq,
int16_t *restrict  thr_adr,
int  q 
)

Definition at line 124 of file vf_fsppdsp.c.

Referenced by ff_fsppdsp_init().

◆ ff_column_fidct_c()

void ff_column_fidct_c ( const int16_t *restrict  thr_adr,
const int16_t *restrict  data,
int16_t *restrict  output,
int  cnt 
)

Definition at line 130 of file vf_fsppdsp.c.

Referenced by ff_fsppdsp_init().

◆ ff_row_idct_c()

void ff_row_idct_c ( const int16_t *restrict  wsptr,
int16_t *restrict  output_adr,
ptrdiff_t  output_stride,
int  cnt 
)

Definition at line 250 of file vf_fsppdsp.c.

Referenced by ff_fsppdsp_init().

◆ ff_row_fdct_c()

void ff_row_fdct_c ( int16_t *restrict  data,
const uint8_t *restrict  pixels,
ptrdiff_t  line_size,
int  cnt 
)

Definition at line 311 of file vf_fsppdsp.c.

Referenced by ff_fsppdsp_init().

Variable Documentation

◆ ff_fspp_dither

const uint8_t ff_fspp_dither[8][8]
Initial value:
= {
{ 0, 48, 12, 60, 3, 51, 15, 63, },
{ 32, 16, 44, 28, 35, 19, 47, 31, },
{ 8, 56, 4, 52, 11, 59, 7, 55, },
{ 40, 24, 36, 20, 43, 27, 39, 23, },
{ 2, 50, 14, 62, 1, 49, 13, 61, },
{ 34, 18, 46, 30, 33, 17, 45, 29, },
{ 10, 58, 6, 54, 9, 57, 5, 53, },
{ 42, 26, 38, 22, 41, 25, 37, 21, },
}

Definition at line 55 of file vf_fsppdsp.c.

Referenced by ff_store_slice2_c(), and ff_store_slice_c().

r
const char * r
Definition: vf_curves.c:127
pos
unsigned int pos
Definition: spdifenc.c:414
temp
else temp
Definition: vf_mcdeint.c:271
av_clip_uint8
#define av_clip_uint8
Definition: common.h:106
src
#define src
Definition: vp8dsp.c:248