FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
hqxvlc.h File Reference
#include <stdint.h>
#include "vlc.h"
#include "libavutil/attributes.h"
#include "libavutil/macros.h"

Go to the source code of this file.

Data Structures

struct  HQXAC
 

Macros

#define HQX_CBP_VLC_BITS   5
 
#define HQX_DC_VLC_BITS   9
 
#define E(level, run)   ((level * 128) | (run + 1))
 
#define INIT_DC_TABLE(idx, name)
 

Enumerations

enum  HQXACMode {
  HQX_AC_Q0 = 0, HQX_AC_Q8, HQX_AC_Q16, HQX_AC_Q32,
  HQX_AC_Q64, HQX_AC_Q128, NUM_HQX_AC
}
 

Functions

static av_cold av_unused void hqx_init_static (void)
 

Variables

static const uint8_t cbp_vlc_bits [16]
 
static const uint8_t cbp_vlc_lens [16]
 
static const uint16_t dc9_vlc_bits [512]
 
static const uint8_t dc9_vlc_lens [512]
 
static const uint16_t dc10_vlc_bits [1024]
 
static const uint8_t dc10_vlc_lens [1024]
 
static const uint16_t dc11_vlc_bits [2048]
 
static const uint8_t dc11_vlc_lens [2048]
 
static HQXAC hqx_ac [NUM_HQX_AC]
 
static const int16_t hqx_ac_run_level []
 
static const uint8_t hqx_ac_lens []
 
static const uint16_t hqx_ac_nb_elems [] = { 815, 907, 512, 354, 257, 194 }
 
static VLCElem cbp_vlc [(1<< HQX_CBP_VLC_BITS)+896+1344+15630]
 
static const VLCElemdc_vlc [2]
 

Macro Definition Documentation

◆ HQX_CBP_VLC_BITS

#define HQX_CBP_VLC_BITS   5

Definition at line 31 of file hqxvlc.h.

◆ HQX_DC_VLC_BITS

#define HQX_DC_VLC_BITS   9

Definition at line 32 of file hqxvlc.h.

◆ E

#define E (   level,
  run 
)    ((level * 128) | (run + 1))

Definition at line 755 of file hqxvlc.h.

◆ INIT_DC_TABLE

#define INIT_DC_TABLE (   idx,
  name 
)
Value:
do { \
FF_ARRAY_ELEMS(name ## _vlc_lens), \
name ## _vlc_lens, 1, 1, \
name ## _vlc_bits, 2, 2, 0); \
} while (0)

Definition at line 1537 of file hqxvlc.h.

Enumeration Type Documentation

◆ HQXACMode

enum HQXACMode
Enumerator
HQX_AC_Q0 
HQX_AC_Q8 
HQX_AC_Q16 
HQX_AC_Q32 
HQX_AC_Q64 
HQX_AC_Q128 
NUM_HQX_AC 

Definition at line 34 of file hqxvlc.h.

Function Documentation

◆ hqx_init_static()

static av_cold av_unused void hqx_init_static ( void  )
static

Definition at line 1545 of file hqxvlc.h.

Referenced by hqx_decode_init().

Variable Documentation

◆ cbp_vlc_bits

const uint8_t cbp_vlc_bits[16]
static
Initial value:
= {
0x04, 0x1C, 0x1D, 0x09, 0x1E, 0x0B, 0x1B, 0x08,
0x1F, 0x1A, 0x0C, 0x07, 0x0A, 0x06, 0x05, 0x00,
}

Definition at line 49 of file hqxvlc.h.

Referenced by hqx_init_static().

◆ cbp_vlc_lens

const uint8_t cbp_vlc_lens[16]
static
Initial value:
= {
4, 5, 5, 4, 5, 4, 5, 4, 5, 5, 4, 4, 4, 4, 4, 2,
}

Definition at line 54 of file hqxvlc.h.

Referenced by hqx_init_static().

◆ dc9_vlc_bits

const uint16_t dc9_vlc_bits[512]
static

Definition at line 58 of file hqxvlc.h.

◆ dc9_vlc_lens

const uint8_t dc9_vlc_lens[512]
static

Definition at line 125 of file hqxvlc.h.

◆ dc10_vlc_bits

const uint16_t dc10_vlc_bits[1024]
static

Definition at line 160 of file hqxvlc.h.

◆ dc10_vlc_lens

const uint8_t dc10_vlc_lens[1024]
static

Definition at line 291 of file hqxvlc.h.

◆ dc11_vlc_bits

const uint16_t dc11_vlc_bits[2048]
static

Definition at line 358 of file hqxvlc.h.

Referenced by hqx_decode_init().

◆ dc11_vlc_lens

const uint8_t dc11_vlc_lens[2048]
static

Definition at line 617 of file hqxvlc.h.

Referenced by hqx_decode_init().

◆ hqx_ac

HQXAC hqx_ac[NUM_HQX_AC]
static
Initial value:
= {
{ 10 }, { 11 }, { 11 }, { 11 }, { 12 }, { 11 },
}

Definition at line 749 of file hqxvlc.h.

Referenced by decode_block(), and hqx_init_static().

◆ hqx_ac_run_level

const int16_t hqx_ac_run_level[]
static

Definition at line 757 of file hqxvlc.h.

Referenced by hqx_init_static().

◆ hqx_ac_lens

const uint8_t hqx_ac_lens[]
static

Definition at line 1349 of file hqxvlc.h.

Referenced by hqx_init_static().

◆ hqx_ac_nb_elems

const uint16_t hqx_ac_nb_elems[] = { 815, 907, 512, 354, 257, 194 }
static

Definition at line 1530 of file hqxvlc.h.

Referenced by hqx_init_static().

◆ cbp_vlc

VLCElem cbp_vlc[(1<< HQX_CBP_VLC_BITS)+896+1344+15630]
static

Definition at line 1533 of file hqxvlc.h.

Referenced by hqx_decode_422a(), hqx_decode_444a(), and hqx_init_static().

◆ dc_vlc

const VLCElem* dc_vlc[2]
static

Definition at line 1535 of file hqxvlc.h.

name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
HQX_DC_VLC_BITS
#define HQX_DC_VLC_BITS
Definition: hqxvlc.h:32
FF_ARRAY_ELEMS
#define FF_ARRAY_ELEMS(a)
Definition: sinewin_tablegen.c:29
ff_vlc_init_tables
static const VLCElem * ff_vlc_init_tables(VLCInitState *state, int nb_bits, int nb_codes, const void *bits, int bits_wrap, int bits_size, const void *codes, int codes_wrap, int codes_size, int flags)
Definition: vlc.h:254
state
static struct @481 state