FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
dirac_vlc.c File Reference
#include "dirac_vlc.h"

Go to the source code of this file.

Data Structures

struct  LUTState
 

Macros

#define PROCESS_VALS
 

Enumerations

enum  { STATE_START = 0, STATE_FOLLOW = 256, STATE_DATA = 512, STATE_SIGN = 768 }
 

Functions

int ff_dirac_golomb_read_16bit (const uint8_t *buf, int bytes, uint8_t *_dst, int coeffs)
 
int ff_dirac_golomb_read_32bit (const uint8_t *buf, int bytes, uint8_t *_dst, int coeffs)
 

Variables

const LUTState ff_dirac_golomb_lut [1024]
 

Macro Definition Documentation

#define PROCESS_VALS
Value:
do { \
val <<= lut.val0_bits; \
val |= lut.val0; \
dst[0] = (val - 1) * lut.sign; \
dst[1] = lut.val1; \
dst[2] = lut.val2; \
dst[3] = lut.val3; \
dst[4] = lut.val4; \
dst[5] = 0; \
dst[6] = 0; \
dst[7] = 0; \
if (lut.num) \
val = lut.val; \
dst += lut.num; \
if (dst >= last) \
return coeffs; \
lut = ff_dirac_golomb_lut[lut.state + *buf++]; \
} while (0)
const LUTState ff_dirac_golomb_lut[1024]
Definition: dirac_vlc.c:46
if(ret)
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame For filters that do not use the this method is called when a frame is wanted on an output For a it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return or at least make progress towards producing a it should return
static double val(void *priv, double ch)
Definition: aeval.c:76

Definition at line 1073 of file dirac_vlc.c.

Referenced by ff_dirac_golomb_read_16bit(), and ff_dirac_golomb_read_32bit().

Enumeration Type Documentation

anonymous enum
Enumerator
STATE_START 
STATE_FOLLOW 
STATE_DATA 
STATE_SIGN 

Definition at line 21 of file dirac_vlc.c.

Function Documentation

int ff_dirac_golomb_read_16bit ( const uint8_t buf,
int  bytes,
uint8_t _dst,
int  coeffs 
)

Definition at line 1093 of file dirac_vlc.c.

Referenced by decode_hq_slice().

int ff_dirac_golomb_read_32bit ( const uint8_t buf,
int  bytes,
uint8_t _dst,
int  coeffs 
)

Definition at line 1113 of file dirac_vlc.c.

Referenced by decode_hq_slice().

Variable Documentation

const LUTState ff_dirac_golomb_lut[1024]

Definition at line 46 of file dirac_vlc.c.

Referenced by ff_dirac_golomb_read_16bit(), and ff_dirac_golomb_read_32bit().