FFmpeg
Loading...
Searching...
No Matches
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)
 
#define MULTIPLY16H(x, k)
 
#define THRESHOLD(r, x, t)
 
#define DESCALE(x, 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 )
Value:
(int)((x) * (1 << s) + 0.5)
#define s(width, name)
Definition cbs_vp9.c:198

Definition at line 33 of file vf_fsppdsp.c.

◆ MULTIPLY16H

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

Definition at line 35 of file vf_fsppdsp.c.

Referenced by ff_column_fidct_c(), ff_row_fdct_c(), and ff_row_idct_c().

◆ THRESHOLD

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

Definition at line 36 of file vf_fsppdsp.c.

Referenced by ff_column_fidct_c().

◆ DESCALE

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

Definition at line 39 of file vf_fsppdsp.c.

Referenced by ff_row_idct_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; \
dst[x + pos] = temp;
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
#define av_clip_uint8
Definition common.h:106
unsigned int pos
Definition spdifenc.c:431
#define src
Definition vp8dsp.c:248
else temp
Definition vf_mcdeint.c:275

Referenced by ff_store_slice_c().

◆ 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; \
dst[x + pos] = temp;

Referenced by ff_store_slice2_c().

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().