FFmpeg
Macros | Functions | Variables
v210dec.c File Reference
#include "avcodec.h"
#include "internal.h"
#include "v210dec.h"
#include "libavutil/bswap.h"
#include "libavutil/internal.h"
#include "libavutil/mem.h"
#include "libavutil/intreadwrite.h"

Go to the source code of this file.

Macros

#define READ_PIXELS(a, b, c)
 
#define V210DEC_FLAGS   AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM
 

Functions

static void v210_planar_unpack_c (const uint32_t *src, uint16_t *y, uint16_t *u, uint16_t *v, int width)
 
static av_cold int decode_init (AVCodecContext *avctx)
 
static int decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
 

Variables

static const AVOption v210dec_options []
 
static const AVClass v210dec_class
 
AVCodec ff_v210_decoder
 

Macro Definition Documentation

#define READ_PIXELS (   a,
  b,
  c 
)
Value:
do { \
*a++ = val & 0x3FF; \
*b++ = (val >> 10) & 0x3FF; \
*c++ = (val >> 20) & 0x3FF; \
} while (0)
const char const char void * val
Definition: avisynth_c.h:771
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:36
#define av_le2ne32(x)
Definition: bswap.h:96
#define src
Definition: vp8dsp.c:254
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
#define b
Definition: input.c:41

Definition at line 32 of file v210dec.c.

Referenced by decode_frame(), and v210_planar_unpack_c().

Definition at line 163 of file v210dec.c.

Function Documentation

static void v210_planar_unpack_c ( const uint32_t *  src,
uint16_t *  y,
uint16_t *  u,
uint16_t *  v,
int  width 
)
static

Definition at line 40 of file v210dec.c.

Referenced by decode_init().

static av_cold int decode_init ( AVCodecContext avctx)
static

Definition at line 53 of file v210dec.c.

static int decode_frame ( AVCodecContext avctx,
void data,
int got_frame,
AVPacket avpkt 
)
static

Definition at line 68 of file v210dec.c.

Variable Documentation

const AVOption v210dec_options[]
static
Initial value:
= {
{"custom_stride", "Custom V210 stride", 0x42, AV_OPT_TYPE_INT,
{.i64 = 0}, INT_MIN, INT_MAX, V210DEC_FLAGS},
{NULL}
}
#define NULL
Definition: coverity.c:32
#define V210DEC_FLAGS
Definition: v210dec.c:163

Definition at line 164 of file v210dec.c.

const AVClass v210dec_class
static
Initial value:
= {
.class_name = "V210 Decoder",
.item_name = av_default_item_name,
.option = v210dec_options,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:191
static const AVOption v210dec_options[]
Definition: v210dec.c:164

Definition at line 170 of file v210dec.c.

AVCodec ff_v210_decoder
Initial value:
= {
.name = "v210",
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
.priv_data_size = sizeof(V210DecContext),
.capabilities = AV_CODEC_CAP_DR1,
.priv_class = &v210dec_class,
}
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:35
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Definition: v210dec.c:68
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
Definition: decode_audio.c:42
static av_cold int decode_init(AVCodecContext *avctx)
Definition: v210dec.c:53
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
static const AVClass v210dec_class
Definition: v210dec.c:170
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:980

Definition at line 177 of file v210dec.c.