FFmpeg
Macros | Functions
h264qpel.c File Reference
#include "libavutil/attributes.h"
#include "h264qpel.h"
#include "h264qpel_template.c"

Go to the source code of this file.

Macros

#define pixeltmp   int16_t
 
#define BIT_DEPTH   8
 
#define BIT_DEPTH   9
 
#define BIT_DEPTH   10
 
#define pixeltmp   int32_t
 
#define BIT_DEPTH   12
 
#define BIT_DEPTH   14
 
#define FUNCC(f, depth)   f ## _ ## depth ## _c
 
#define dspfunc2(PFX, IDX, NUM, depth)
 
#define SET_QPEL(depth)
 

Functions

av_cold void ff_h264qpel_init (H264QpelContext *c, int bit_depth)
 

Macro Definition Documentation

◆ pixeltmp [1/2]

#define pixeltmp   int16_t

Definition at line 39 of file h264qpel.c.

◆ BIT_DEPTH [1/5]

#define BIT_DEPTH   8

Definition at line 44 of file h264qpel.c.

◆ BIT_DEPTH [2/5]

#define BIT_DEPTH   9

Definition at line 44 of file h264qpel.c.

◆ BIT_DEPTH [3/5]

#define BIT_DEPTH   10

Definition at line 44 of file h264qpel.c.

◆ pixeltmp [2/2]

#define pixeltmp   int32_t

Definition at line 39 of file h264qpel.c.

◆ BIT_DEPTH [4/5]

#define BIT_DEPTH   12

Definition at line 44 of file h264qpel.c.

◆ BIT_DEPTH [5/5]

#define BIT_DEPTH   14

Definition at line 44 of file h264qpel.c.

◆ FUNCC

#define FUNCC (   f,
  depth 
)    f ## _ ## depth ## _c

◆ dspfunc2

#define dspfunc2 (   PFX,
  IDX,
  NUM,
  depth 
)
Value:
c->PFX ## _pixels_tab[IDX][ 0] = FUNCC(PFX ## NUM ## _mc00, depth); \
c->PFX ## _pixels_tab[IDX][ 1] = FUNCC(PFX ## NUM ## _mc10, depth); \
c->PFX ## _pixels_tab[IDX][ 2] = FUNCC(PFX ## NUM ## _mc20, depth); \
c->PFX ## _pixels_tab[IDX][ 3] = FUNCC(PFX ## NUM ## _mc30, depth); \
c->PFX ## _pixels_tab[IDX][ 4] = FUNCC(PFX ## NUM ## _mc01, depth); \
c->PFX ## _pixels_tab[IDX][ 5] = FUNCC(PFX ## NUM ## _mc11, depth); \
c->PFX ## _pixels_tab[IDX][ 6] = FUNCC(PFX ## NUM ## _mc21, depth); \
c->PFX ## _pixels_tab[IDX][ 7] = FUNCC(PFX ## NUM ## _mc31, depth); \
c->PFX ## _pixels_tab[IDX][ 8] = FUNCC(PFX ## NUM ## _mc02, depth); \
c->PFX ## _pixels_tab[IDX][ 9] = FUNCC(PFX ## NUM ## _mc12, depth); \
c->PFX ## _pixels_tab[IDX][10] = FUNCC(PFX ## NUM ## _mc22, depth); \
c->PFX ## _pixels_tab[IDX][11] = FUNCC(PFX ## NUM ## _mc32, depth); \
c->PFX ## _pixels_tab[IDX][12] = FUNCC(PFX ## NUM ## _mc03, depth); \
c->PFX ## _pixels_tab[IDX][13] = FUNCC(PFX ## NUM ## _mc13, depth); \
c->PFX ## _pixels_tab[IDX][14] = FUNCC(PFX ## NUM ## _mc23, depth); \
c->PFX ## _pixels_tab[IDX][15] = FUNCC(PFX ## NUM ## _mc33, depth)

◆ SET_QPEL

#define SET_QPEL (   depth)
Value:
dspfunc2(put_h264_qpel, 0, 16, depth); \
dspfunc2(put_h264_qpel, 1, 8, depth); \
dspfunc2(put_h264_qpel, 2, 4, depth); \
dspfunc2(put_h264_qpel, 3, 2, depth); \
dspfunc2(avg_h264_qpel, 0, 16, depth); \
dspfunc2(avg_h264_qpel, 1, 8, depth); \
dspfunc2(avg_h264_qpel, 2, 4, depth)

Function Documentation

◆ ff_h264qpel_init()

av_cold void ff_h264qpel_init ( H264QpelContext c,
int  bit_depth 
)
c
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
Definition: undefined.txt:32
dspfunc2
#define dspfunc2(PFX, IDX, NUM, depth)
FUNCC
#define FUNCC(f, depth)