FFmpeg
Macros | Functions
v210enc_init.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "v210enc.h"

Go to the source code of this file.

Macros

#define CLIP(v, depth)   av_clip(v, 1<<(depth-8), ((1<<depth)-(1<<(depth-8))-1))
 
#define WRITE_PIXELS(a, b, c, depth)
 

Functions

static void v210_planar_pack_8_c (const uint8_t *y, const uint8_t *u, const uint8_t *v, uint8_t *dst, ptrdiff_t width)
 
static void v210_planar_pack_10_c (const uint16_t *y, const uint16_t *u, const uint16_t *v, uint8_t *dst, ptrdiff_t width)
 
static av_cold av_unused void ff_v210enc_init (V210EncContext *s)
 

Macro Definition Documentation

◆ CLIP

#define CLIP (   v,
  depth 
)    av_clip(v, 1<<(depth-8), ((1<<depth)-(1<<(depth-8))-1))

Definition at line 36 of file v210enc_init.h.

◆ WRITE_PIXELS

#define WRITE_PIXELS (   a,
  b,
  c,
  depth 
)
Value:
do { \
val = CLIP(*a++, depth) << (10-depth); \
val |= (CLIP(*b++, depth) << (20-depth)) | \
(CLIP(*c++, depth) << (30-depth)); \
AV_WL32(dst, val); \
dst += 4; \
} while (0)

Definition at line 37 of file v210enc_init.h.

Function Documentation

◆ v210_planar_pack_8_c()

static void v210_planar_pack_8_c ( const uint8_t *  y,
const uint8_t *  u,
const uint8_t *  v,
uint8_t *  dst,
ptrdiff_t  width 
)
static

Definition at line 46 of file v210enc_init.h.

Referenced by ff_v210enc_init().

◆ v210_planar_pack_10_c()

static void v210_planar_pack_10_c ( const uint16_t *  y,
const uint16_t *  u,
const uint16_t *  v,
uint8_t *  dst,
ptrdiff_t  width 
)
static

Definition at line 65 of file v210enc_init.h.

Referenced by ff_v210enc_init().

◆ ff_v210enc_init()

static av_cold av_unused void ff_v210enc_init ( V210EncContext s)
static

Definition at line 79 of file v210enc_init.h.

Referenced by checkasm_check_v210enc(), and encode_init().

b
#define b
Definition: input.c:41
val
static double val(void *priv, double ch)
Definition: aeval.c:77
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
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
a
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
Definition: undefined.txt:41
CLIP
#define CLIP(v, depth)
Definition: v210enc_init.h:36