FFmpeg
Macros | Functions | Variables
hqxvlc.c File Reference
#include "hqx.h"

Go to the source code of this file.

Macros

#define RPT_2(a, b, c)   { a, b, c }, { a, b, c }
 
#define RPT_4(a, b, c)   RPT_2( a, b, c), RPT_2( a, b, c)
 
#define RPT_8(a, b, c)   RPT_4( a, b, c), RPT_4( a, b, c)
 
#define RPT_16(a, b, c)   RPT_8( a, b, c), RPT_8( a, b, c)
 
#define RPT_32(a, b, c)   RPT_16( a, b, c), RPT_16( a, b, c)
 
#define RPT_64(a, b, c)   RPT_32( a, b, c), RPT_32( a, b, c)
 
#define RPT_128(a, b, c)   RPT_64( a, b, c), RPT_64( a, b, c)
 
#define RPT_256(a, b, c)   RPT_128(a, b, c), RPT_128(a, b, c)
 
#define RPT_512(a, b, c)   RPT_256(a, b, c), RPT_256(a, b, c)
 
#define RPT_1024(a, b, c)   RPT_512(a, b, c), RPT_512(a, b, c)
 
#define INIT_DC_TABLE(idx, name)
 

Functions

av_cold int ff_hqx_init_vlcs (HQXContext *ctx)
 

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 const HQXLUT ac0_lut []
 
static const HQXLUT ac8_lut []
 
static const HQXLUT ac16_lut []
 
static const HQXLUT ac32_lut []
 
static const HQXLUT ac64_lut []
 
static const HQXLUT ac128_lut []
 
const HQXAC ff_hqx_ac [NUM_HQX_AC]
 

Macro Definition Documentation

◆ RPT_2

#define RPT_2 (   a,
  b,
  c 
)    { a, b, c }, { a, b, c }

Definition at line 722 of file hqxvlc.c.

◆ RPT_4

#define RPT_4 (   a,
  b,
  c 
)    RPT_2( a, b, c), RPT_2( a, b, c)

Definition at line 723 of file hqxvlc.c.

◆ RPT_8

#define RPT_8 (   a,
  b,
  c 
)    RPT_4( a, b, c), RPT_4( a, b, c)

Definition at line 724 of file hqxvlc.c.

◆ RPT_16

#define RPT_16 (   a,
  b,
  c 
)    RPT_8( a, b, c), RPT_8( a, b, c)

Definition at line 725 of file hqxvlc.c.

◆ RPT_32

#define RPT_32 (   a,
  b,
  c 
)    RPT_16( a, b, c), RPT_16( a, b, c)

Definition at line 726 of file hqxvlc.c.

◆ RPT_64

#define RPT_64 (   a,
  b,
  c 
)    RPT_32( a, b, c), RPT_32( a, b, c)

Definition at line 727 of file hqxvlc.c.

◆ RPT_128

#define RPT_128 (   a,
  b,
  c 
)    RPT_64( a, b, c), RPT_64( a, b, c)

Definition at line 728 of file hqxvlc.c.

◆ RPT_256

#define RPT_256 (   a,
  b,
  c 
)    RPT_128(a, b, c), RPT_128(a, b, c)

Definition at line 729 of file hqxvlc.c.

◆ RPT_512

#define RPT_512 (   a,
  b,
  c 
)    RPT_256(a, b, c), RPT_256(a, b, c)

Definition at line 730 of file hqxvlc.c.

◆ RPT_1024

#define RPT_1024 (   a,
  b,
  c 
)    RPT_512(a, b, c), RPT_512(a, b, c)

Definition at line 731 of file hqxvlc.c.

◆ INIT_DC_TABLE

#define INIT_DC_TABLE (   idx,
  name 
)
Value:
do { \
ret = vlc_init(&ctx->dc_vlc[idx], HQX_DC_VLC_BITS, \
FF_ARRAY_ELEMS(name ## _vlc_lens), \
name ## _vlc_lens, 1, 1, \
name ## _vlc_bits, 2, 2, 0); \
if (ret < 0) \
return ret; \
} while (0)

Definition at line 2141 of file hqxvlc.c.

Function Documentation

◆ ff_hqx_init_vlcs()

av_cold int ff_hqx_init_vlcs ( HQXContext ctx)

Definition at line 2151 of file hqxvlc.c.

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 23 of file hqxvlc.c.

Referenced by ff_hqx_init_vlcs().

◆ 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 28 of file hqxvlc.c.

Referenced by ff_hqx_init_vlcs().

◆ dc9_vlc_bits

const uint16_t dc9_vlc_bits[512]
static

Definition at line 32 of file hqxvlc.c.

◆ dc9_vlc_lens

const uint8_t dc9_vlc_lens[512]
static

Definition at line 99 of file hqxvlc.c.

◆ dc10_vlc_bits

const uint16_t dc10_vlc_bits[1024]
static

Definition at line 134 of file hqxvlc.c.

◆ dc10_vlc_lens

const uint8_t dc10_vlc_lens[1024]
static

Definition at line 265 of file hqxvlc.c.

◆ dc11_vlc_bits

const uint16_t dc11_vlc_bits[2048]
static

Definition at line 332 of file hqxvlc.c.

◆ dc11_vlc_lens

const uint8_t dc11_vlc_lens[2048]
static

Definition at line 591 of file hqxvlc.c.

◆ ac0_lut

const HQXLUT ac0_lut[]
static

Definition at line 733 of file hqxvlc.c.

◆ ac8_lut

const HQXLUT ac8_lut[]
static

Definition at line 1132 of file hqxvlc.c.

◆ ac16_lut

const HQXLUT ac16_lut[]
static

Definition at line 1580 of file hqxvlc.c.

◆ ac32_lut

const HQXLUT ac32_lut[]
static

Definition at line 1777 of file hqxvlc.c.

◆ ac64_lut

const HQXLUT ac64_lut[]
static

Definition at line 1925 of file hqxvlc.c.

◆ ac128_lut

const HQXLUT ac128_lut[]
static

Definition at line 2041 of file hqxvlc.c.

◆ ff_hqx_ac

const HQXAC ff_hqx_ac[NUM_HQX_AC]
Initial value:
= {
{ 10, 5, ac0_lut },
{ 11, 6, ac8_lut },
{ 11, 6, ac16_lut },
{ 11, 6, ac32_lut },
{ 12, 5, ac64_lut },
{ 11, 6, ac128_lut },
}

Definition at line 2132 of file hqxvlc.c.

Referenced by decode_block().

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
ac8_lut
static const HQXLUT ac8_lut[]
Definition: hqxvlc.c:1132
HQX_DC_VLC_BITS
#define HQX_DC_VLC_BITS
Definition: hqx.h:82
ac32_lut
static const HQXLUT ac32_lut[]
Definition: hqxvlc.c:1777
FF_ARRAY_ELEMS
#define FF_ARRAY_ELEMS(a)
Definition: sinewin_tablegen.c:29
ac128_lut
static const HQXLUT ac128_lut[]
Definition: hqxvlc.c:2041
vlc_init
#define vlc_init(vlc, nb_bits, nb_codes, bits, bits_wrap, bits_size, codes, codes_wrap, codes_size, flags)
Definition: vlc.h:62
ctx
AVFormatContext * ctx
Definition: movenc.c:49
ac16_lut
static const HQXLUT ac16_lut[]
Definition: hqxvlc.c:1580
ac0_lut
static const HQXLUT ac0_lut[]
Definition: hqxvlc.c:733
ret
ret
Definition: filter_design.txt:187
ac64_lut
static const HQXLUT ac64_lut[]
Definition: hqxvlc.c:1925