golomb.h File Reference

exp golomb vlc stuff
More...

#include <stdint.h>
#include "get_bits.h"
#include "put_bits.h"
Include dependency graph for golomb.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define INVALID_VLC   0x80000000
 

Functions

static int get_ue_golomb (GetBitContext *gb)
 read unsigned exp golomb code. More...
 
static unsigned get_ue_golomb_long (GetBitContext *gb)
 Read an unsigned Exp-Golomb code in the range 0 to UINT32_MAX-1. More...
 
static int get_ue_golomb_31 (GetBitContext *gb)
 read unsigned exp golomb code, constraint to a max of 31. More...
 
static unsigned svq3_get_ue_golomb (GetBitContext *gb)
 
static int get_te0_golomb (GetBitContext *gb, int range)
 read unsigned truncated exp golomb code. More...
 
static int get_te_golomb (GetBitContext *gb, int range)
 read unsigned truncated exp golomb code. More...
 
static int get_se_golomb (GetBitContext *gb)
 read signed exp golomb code. More...
 
static int svq3_get_se_golomb (GetBitContext *gb)
 
static int dirac_get_se_golomb (GetBitContext *gb)
 
static int get_ur_golomb (GetBitContext *gb, int k, int limit, int esc_len)
 read unsigned golomb rice code (ffv1). More...
 
static int get_ur_golomb_jpegls (GetBitContext *gb, int k, int limit, int esc_len)
 read unsigned golomb rice code (jpegls). More...
 
static int get_sr_golomb (GetBitContext *gb, int k, int limit, int esc_len)
 read signed golomb rice code (ffv1). More...
 
static int get_sr_golomb_flac (GetBitContext *gb, int k, int limit, int esc_len)
 read signed golomb rice code (flac). More...
 
static unsigned int get_ur_golomb_shorten (GetBitContext *gb, int k)
 read unsigned golomb rice code (shorten). More...
 
static int get_sr_golomb_shorten (GetBitContext *gb, int k)
 read signed golomb rice code (shorten). More...
 
static void set_ue_golomb (PutBitContext *pb, int i)
 write unsigned exp golomb code. More...
 
static void set_te_golomb (PutBitContext *pb, int i, int range)
 write truncated unsigned exp golomb code. More...
 
static void set_se_golomb (PutBitContext *pb, int i)
 write signed exp golomb code. More...
 
static void set_ur_golomb (PutBitContext *pb, int i, int k, int limit, int esc_len)
 write unsigned golomb rice code (ffv1). More...
 
static void set_ur_golomb_jpegls (PutBitContext *pb, int i, int k, int limit, int esc_len)
 write unsigned golomb rice code (jpegls). More...
 
static void set_sr_golomb (PutBitContext *pb, int i, int k, int limit, int esc_len)
 write signed golomb rice code (ffv1). More...
 
static void set_sr_golomb_flac (PutBitContext *pb, int i, int k, int limit, int esc_len)
 write signed golomb rice code (flac). More...
 

Variables

const uint8_t ff_golomb_vlc_len [512]
 
const uint8_t ff_ue_golomb_vlc_code [512]
 
const int8_t ff_se_golomb_vlc_code [512]
 
const uint8_t ff_ue_golomb_len [256]
 
const uint8_t ff_interleaved_golomb_vlc_len [256]
 
const uint8_t ff_interleaved_ue_golomb_vlc_code [256]
 
const int8_t ff_interleaved_se_golomb_vlc_code [256]
 
const uint8_t ff_interleaved_dirac_golomb_vlc_code [256]
 

Detailed Description

exp golomb vlc stuff
Author
Michael Niedermayer micha.nosp@m.elni.nosp@m.@gmx..nosp@m.at and Alex Beregszaszi

Definition in file golomb.h.

Macro Definition Documentation

#define INVALID_VLC   0x80000000

Definition at line 37 of file golomb.h.

Referenced by svq3_get_se_golomb(), and svq3_mc_dir().

Function Documentation

static int dirac_get_se_golomb ( GetBitContext gb)
inlinestatic
static int get_sr_golomb ( GetBitContext gb,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

read signed golomb rice code (ffv1).

Definition at line 345 of file golomb.h.

Referenced by get_vlc_symbol().

static int get_sr_golomb_flac ( GetBitContext gb,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

read signed golomb rice code (flac).

Definition at line 358 of file golomb.h.

Referenced by decode_residuals().

static int get_sr_golomb_shorten ( GetBitContext gb,
int  k 
)
inlinestatic

read signed golomb rice code (shorten).

Definition at line 373 of file golomb.h.

Referenced by decode_subframe_lpc().

static int get_te0_golomb ( GetBitContext gb,
int  range 
)
inlinestatic

read unsigned truncated exp golomb code.

Definition at line 153 of file golomb.h.

Referenced by get_sr_golomb_shorten().

static int get_te_golomb ( GetBitContext gb,
int  range 
)
inlinestatic

read unsigned truncated exp golomb code.

Definition at line 164 of file golomb.h.

static int get_ue_golomb_31 ( GetBitContext gb)
inlinestatic

read unsigned exp golomb code, constraint to a max of 31.

the return value is undefined if the stored value exceeds 31.

Definition at line 100 of file golomb.h.

Referenced by decode_buffering_period(), decode_hrd_parameters(), decode_slice_header(), ff_h264_decode_mb_cavlc(), ff_h264_decode_picture_parameter_set(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_decode_ref_pic_marking(), ff_h264_decode_seq_parameter_set(), and parse_nal_units().

static unsigned get_ue_golomb_long ( GetBitContext gb)
inlinestatic

Read an unsigned Exp-Golomb code in the range 0 to UINT32_MAX-1.

Definition at line 85 of file golomb.h.

Referenced by decode_hrd_parameters(), decode_slice_header(), ff_h264_find_frame_end(), main(), and parse_nal_units().

static int get_ur_golomb ( GetBitContext gb,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

read unsigned golomb rice code (ffv1).

Definition at line 261 of file golomb.h.

Referenced by get_sr_golomb().

static int get_ur_golomb_jpegls ( GetBitContext gb,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

read unsigned golomb rice code (jpegls).

Definition at line 294 of file golomb.h.

Referenced by get_sr_golomb_flac(), get_sr_golomb_shorten(), get_ur_golomb_shorten(), loco_get_rice(), ls_get_code_regular(), and ls_get_code_runterm().

static unsigned int get_ur_golomb_shorten ( GetBitContext gb,
int  k 
)
inlinestatic

read unsigned golomb rice code (shorten).

Definition at line 366 of file golomb.h.

Referenced by decode_subframe_lpc(), get_uint(), read_header(), and shorten_decode_frame().

static void set_se_golomb ( PutBitContext pb,
int  i 
)
inlinestatic

write signed exp golomb code.

16 bits at most.

Definition at line 476 of file golomb.h.

Referenced by intlist_write(), and main().

static void set_sr_golomb ( PutBitContext pb,
int  i,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

write signed golomb rice code (ffv1).

Definition at line 536 of file golomb.h.

Referenced by put_vlc_symbol().

static void set_sr_golomb_flac ( PutBitContext pb,
int  i,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

write signed golomb rice code (flac).

Definition at line 548 of file golomb.h.

Referenced by write_subframes().

static void set_te_golomb ( PutBitContext pb,
int  i,
int  range 
)
inlinestatic

write truncated unsigned exp golomb code.

Definition at line 465 of file golomb.h.

static void set_ue_golomb ( PutBitContext pb,
int  i 
)
inlinestatic

write unsigned exp golomb code.

Definition at line 442 of file golomb.h.

Referenced by main(), predictor_calc_error(), set_se_golomb(), and set_te_golomb().

static void set_ur_golomb ( PutBitContext pb,
int  i,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

write unsigned golomb rice code (ffv1).

Definition at line 493 of file golomb.h.

Referenced by set_sr_golomb().

static void set_ur_golomb_jpegls ( PutBitContext pb,
int  i,
int  k,
int  limit,
int  esc_len 
)
inlinestatic

write unsigned golomb rice code (jpegls).

Definition at line 509 of file golomb.h.

Referenced by ls_encode_regular(), ls_encode_runterm(), and set_sr_golomb_flac().

static int svq3_get_se_golomb ( GetBitContext gb)
inlinestatic

Definition at line 207 of file golomb.h.

Referenced by rv34_decode_mv(), svq3_decode_mb(), and svq3_mc_dir().

Variable Documentation

const uint8_t ff_golomb_vlc_len[512]

Definition at line 31 of file golomb.c.

Referenced by get_se_golomb(), get_ue_golomb(), and get_ue_golomb_31().

const uint8_t ff_interleaved_dirac_golomb_vlc_code[256]

Definition at line 157 of file golomb.c.

Referenced by svq3_get_ue_golomb().

const uint8_t ff_interleaved_golomb_vlc_len[256]

Definition at line 100 of file golomb.c.

Referenced by svq3_get_se_golomb(), and svq3_get_ue_golomb().

const int8_t ff_interleaved_se_golomb_vlc_code[256]

Definition at line 138 of file golomb.c.

Referenced by svq3_get_se_golomb().

const uint8_t ff_interleaved_ue_golomb_vlc_code[256]

Definition at line 119 of file golomb.c.

Referenced by svq3_get_ue_golomb().

const int8_t ff_se_golomb_vlc_code[512]

Definition at line 69 of file golomb.c.

Referenced by get_se_golomb().

const uint8_t ff_ue_golomb_len[256]

Definition at line 89 of file golomb.c.

Referenced by set_ue_golomb().

const uint8_t ff_ue_golomb_vlc_code[512]

Definition at line 50 of file golomb.c.

Referenced by get_ue_golomb(), and get_ue_golomb_31().