FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
get_bits.h File Reference

bitstream reader API header. More...

#include <stdint.h>
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/log.h"
#include "libavutil/avassert.h"
#include "mathops.h"

Go to the source code of this file.

Data Structures

struct  GetBitContext
 
struct  VLC
 
struct  RL_VLC_ELEM
 

Macros

#define UNCHECKED_BITSTREAM_READER   !CONFIG_SAFE_BITSTREAM_READER
 
#define VLC_TYPE   int16_t
 
#define MIN_CACHE_BITS   25
 
#define OPEN_READER_NOSIZE(name, gb)
 
#define OPEN_READER(name, gb)   OPEN_READER_NOSIZE(name, gb)
 
#define BITS_AVAILABLE(name, gb)   1
 
#define CLOSE_READER(name, gb)   (gb)->index = name ## _index
 
#define UPDATE_CACHE_LE(name, gb)
 
#define UPDATE_CACHE_BE(name, gb)
 
#define UPDATE_CACHE(name, gb)   UPDATE_CACHE_BE(name, gb)
 
#define SKIP_CACHE(name, gb, num)   name ## _cache <<= (num)
 
#define SKIP_COUNTER(name, gb, num)   name ## _index += (num)
 
#define BITS_LEFT(name, gb)   ((int)((gb)->size_in_bits - name ## _index))
 
#define SKIP_BITS(name, gb, num)
 
#define LAST_SKIP_BITS(name, gb, num)   SKIP_COUNTER(name, gb, num)
 
#define SHOW_UBITS_LE(name, gb, num)   zero_extend(name ## _cache, num)
 
#define SHOW_SBITS_LE(name, gb, num)   sign_extend(name ## _cache, num)
 
#define SHOW_UBITS_BE(name, gb, num)   NEG_USR32(name ## _cache, num)
 
#define SHOW_SBITS_BE(name, gb, num)   NEG_SSR32(name ## _cache, num)
 
#define SHOW_UBITS(name, gb, num)   SHOW_UBITS_BE(name, gb, num)
 
#define SHOW_SBITS(name, gb, num)   SHOW_SBITS_BE(name, gb, num)
 
#define GET_CACHE(name, gb)   ((uint32_t) name ## _cache)
 
#define init_vlc(vlc, nb_bits, nb_codes,bits, bits_wrap, bits_size,codes, codes_wrap, codes_size,flags)
 
#define INIT_VLC_LE   2
 
#define INIT_VLC_USE_NEW_STATIC   4
 
#define INIT_VLC_STATIC(vlc, bits, a, b, c, d, e, f, g, static_size)
 
#define GET_VLC(code, name, gb, table, bits, max_depth)
 If the vlc code is invalid and max_depth=1, then no bits will be removed.
 
#define GET_RL_VLC_INTERNAL(level, run, name, gb, table, bits,max_depth, need_update)
 
#define tprintf(p,...)   { }
 
#define GET_RL_VLC   GET_RL_VLC_INTERNAL
 

Functions

static int get_bits_count (const GetBitContext *s)
 
static void skip_bits_long (GetBitContext *s, int n)
 
static int get_xbits (GetBitContext *s, int n)
 read mpeg1 dc style vlc (sign bit + mantissa with no MSB).
 
static int get_sbits (GetBitContext *s, int n)
 
static unsigned int get_bits (GetBitContext *s, int n)
 Read 1-25 bits.
 
static unsigned int get_bits_le (GetBitContext *s, int n)
 
static unsigned int show_bits (GetBitContext *s, int n)
 Show 1-25 bits.
 
static void skip_bits (GetBitContext *s, int n)
 
static unsigned int get_bits1 (GetBitContext *s)
 
static unsigned int show_bits1 (GetBitContext *s)
 
static void skip_bits1 (GetBitContext *s)
 
static unsigned int get_bits_long (GetBitContext *s, int n)
 Read 0-32 bits.
 
static uint64_t get_bits64 (GetBitContext *s, int n)
 Read 0-64 bits.
 
static int get_sbits_long (GetBitContext *s, int n)
 Read 0-32 bits as a signed integer.
 
static unsigned int show_bits_long (GetBitContext *s, int n)
 Show 0-32 bits.
 
static int check_marker (GetBitContext *s, const char *msg)
 
static int init_get_bits (GetBitContext *s, const uint8_t *buffer, int bit_size)
 Initialize GetBitContext.
 
static int init_get_bits8 (GetBitContext *s, const uint8_t *buffer, int byte_size)
 Initialize GetBitContext.
 
static const uint8_talign_get_bits (GetBitContext *s)
 
int ff_init_vlc_sparse (VLC *vlc, int nb_bits, int nb_codes, const void *bits, int bits_wrap, int bits_size, const void *codes, int codes_wrap, int codes_size, const void *symbols, int symbols_wrap, int symbols_size, int flags)
 
void ff_free_vlc (VLC *vlc)
 
static av_always_inline int get_vlc2 (GetBitContext *s, VLC_TYPE(*table)[2], int bits, int max_depth)
 Parse a vlc code.
 
static int decode012 (GetBitContext *gb)
 
static int decode210 (GetBitContext *gb)
 
static int get_bits_left (GetBitContext *gb)
 
static int skip_1stop_8data_bits (GetBitContext *gb)
 

Detailed Description

bitstream reader API header.

Definition in file get_bits.h.

Macro Definition Documentation

#define UNCHECKED_BITSTREAM_READER   !CONFIG_SAFE_BITSTREAM_READER

Definition at line 51 of file get_bits.h.

#define VLC_TYPE   int16_t
#define MIN_CACHE_BITS   25
#define OPEN_READER_NOSIZE (   name,
  gb 
)
Value:
unsigned int name ## _index = (gb)->index; \
unsigned int av_unused name ## _cache

Definition at line 128 of file get_bits.h.

Referenced by dv_decode_ac(), and show_bits().

#define OPEN_READER (   name,
  gb 
)    OPEN_READER_NOSIZE(name, gb)
#define BITS_AVAILABLE (   name,
  gb 
)    1

Definition at line 135 of file get_bits.h.

Referenced by svq3_get_ue_golomb().

#define CLOSE_READER (   name,
  gb 
)    (gb)->index = name ## _index
#define UPDATE_CACHE_LE (   name,
  gb 
)
Value:
name ## _cache = \
AV_RL32((gb)->buffer + (name ## _index >> 3)) >> (name ## _index & 7)

Definition at line 156 of file get_bits.h.

Referenced by get_bits_le().

#define UPDATE_CACHE_BE (   name,
  gb 
)
Value:
name ## _cache = \
AV_RB32((gb)->buffer + (name ## _index >> 3)) << (name ## _index & 7)

Definition at line 159 of file get_bits.h.

#define UPDATE_CACHE (   name,
  gb 
)    UPDATE_CACHE_BE(name, gb)
#define SKIP_CACHE (   name,
  gb,
  num 
)    name ## _cache <<= (num)
#define SKIP_COUNTER (   name,
  gb,
  num 
)    name ## _index += (num)
#define BITS_LEFT (   name,
  gb 
)    ((int)((gb)->size_in_bits - name ## _index))
#define SKIP_BITS (   name,
  gb,
  num 
)
#define LAST_SKIP_BITS (   name,
  gb,
  num 
)    SKIP_COUNTER(name, gb, num)
#define SHOW_UBITS_LE (   name,
  gb,
  num 
)    zero_extend(name ## _cache, num)

Definition at line 196 of file get_bits.h.

Referenced by get_bits_le().

#define SHOW_SBITS_LE (   name,
  gb,
  num 
)    sign_extend(name ## _cache, num)

Definition at line 197 of file get_bits.h.

#define SHOW_UBITS_BE (   name,
  gb,
  num 
)    NEG_USR32(name ## _cache, num)

Definition at line 199 of file get_bits.h.

#define SHOW_SBITS_BE (   name,
  gb,
  num 
)    NEG_SSR32(name ## _cache, num)

Definition at line 200 of file get_bits.h.

#define SHOW_UBITS (   name,
  gb,
  num 
)    SHOW_UBITS_BE(name, gb, num)
#define SHOW_SBITS (   name,
  gb,
  num 
)    SHOW_SBITS_BE(name, gb, num)
#define GET_CACHE (   name,
  gb 
)    ((uint32_t) name ## _cache)
#define init_vlc (   vlc,
  nb_bits,
  nb_codes,
  bits,
  bits_wrap,
  bits_size,
  codes,
  codes_wrap,
  codes_size,
  flags 
)
#define INIT_VLC_LE   2
#define INIT_VLC_USE_NEW_STATIC   4
#define INIT_VLC_STATIC (   vlc,
  bits,
  a,
  b,
  c,
  d,
  e,
  f,
  g,
  static_size 
)
Value:
do { \
static VLC_TYPE table[static_size][2]; \
(vlc)->table = table; \
(vlc)->table_allocated = static_size; \
init_vlc(vlc, bits, a, b, c, d, e, f, g, INIT_VLC_USE_NEW_STATIC); \
} while (0)

Definition at line 476 of file get_bits.h.

Referenced by aac_decode_init(), decode_init(), ff_ccitt_unpack_init(), ff_h263_decode_init_vlc(), ff_mpeg12_init_vlcs(), ff_mpeg4videodec_static_init(), ff_msmpeg4_decode_init(), ff_vc1_init_common(), h261_decode_init_vlc(), init_static(), init_vlcs(), rv10_decode_init(), svq1_decode_init(), and wmavoice_init_static_data().

#define GET_VLC (   code,
  name,
  gb,
  table,
  bits,
  max_depth 
)
Value:
do { \
int n, nb_bits; \
unsigned int index; \
\
index = SHOW_UBITS(name, gb, bits); \
code = table[index][0]; \
n = table[index][1]; \
if (max_depth > 1 && n < 0) { \
LAST_SKIP_BITS(name, gb, bits); \
UPDATE_CACHE(name, gb); \
\
nb_bits = -n; \
\
index = SHOW_UBITS(name, gb, nb_bits) + code; \
code = table[index][0]; \
n = table[index][1]; \
if (max_depth > 2 && n < 0) { \
LAST_SKIP_BITS(name, gb, nb_bits); \
UPDATE_CACHE(name, gb); \
\
nb_bits = -n; \
\
index = SHOW_UBITS(name, gb, nb_bits) + code; \
code = table[index][0]; \
n = table[index][1]; \
} \
} \
SKIP_BITS(name, gb, n); \
} while (0)

If the vlc code is invalid and max_depth=1, then no bits will be removed.

If the vlc code is invalid and max_depth>1, then the number of bits removed is undefined.

Definition at line 489 of file get_bits.h.

Referenced by decode_block(), decode_block_progressive(), decode_block_refinement(), decode_spectrum_and_dequant(), dnxhd_decode_dct_block(), get_vlc2(), read_argb_line(), read_rgb24_component_line(), and read_yuv_component_line().

#define GET_RL_VLC_INTERNAL (   level,
  run,
  name,
  gb,
  table,
  bits,
  max_depth,
  need_update 
)
Value:
do { \
int n, nb_bits; \
unsigned int index; \
\
index = SHOW_UBITS(name, gb, bits); \
level = table[index].level; \
n = table[index].len; \
if (max_depth > 1 && n < 0) { \
SKIP_BITS(name, gb, bits); \
if (need_update) { \
UPDATE_CACHE(name, gb); \
} \
\
nb_bits = -n; \
\
index = SHOW_UBITS(name, gb, nb_bits) + level; \
level = table[index].level; \
n = table[index].len; \
} \
run = table[index].run; \
SKIP_BITS(name, gb, n); \
} while (0)

Definition at line 521 of file get_bits.h.

#define tprintf (   p,
  ... 
)    { }
#define GET_RL_VLC   GET_RL_VLC_INTERNAL

Function Documentation

static int get_bits_count ( const GetBitContext s)
inlinestatic

Definition at line 212 of file get_bits.h.

Referenced by aac_adtstoasc_filter(), aac_decode_frame(), adpcm_swf_decode(), alac_decode_frame(), align_get_bits(), avpriv_mpeg4audio_get_config(), bink_decode_plane(), binkb_decode_plane(), cabac_init_decoder(), categorize(), check_bits_for_superframe(), check_for_slice(), cook_decode_frame(), dca_decode_frame(), dca_exss_parse_asset_header(), dca_parse_audio_coding_header(), dca_subframe_footer(), decode_audio_specific_config(), decode_band(), decode_component(), decode_frame(), decode_line(), decode_lowdelay(), decode_lowdelay_slice(), decode_packet(), decode_rle(), decode_slice(), decode_subframe(), decode_user_data(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), escape124_decode_frame(), escape130_decode_frame(), ff_dca_exss_parse_header(), ff_dca_xbr_parse_frame(), ff_dca_xxch_decode_frame(), ff_dirac_init_arith_decoder(), ff_flac_decode_frame_header(), ff_h263_resync(), ff_h264_decode_picture_parameter_set(), ff_h264_decode_sei(), ff_ivi_decode_frame(), ff_lag_rac_init(), ff_mjpeg_decode_frame(), ff_mlp_read_major_sync(), ff_mpeg4_decode_picture_header(), ff_mpeg4_decode_video_packet_header(), ff_mpeg4_frame_end(), ff_msmpeg4_decode_ext_header(), ff_rdt_parse_header(), ff_rtjpeg_decode_frame_yuv420(), fill_slice(), fill_slice_long(), find_group3_syncmarker(), flac_decode_frame(), flashsv_decode_block(), flashsv_decode_frame(), get_bits_align32(), get_bits_left(), get_consumed_bytes(), get_level_prefix(), handle_rstn(), huf_unpack_enc_table(), huffman_decode(), imc_decode_block(), imc_get_coeffs(), latm_decode_audio_specific_config(), loco_decode_plane(), lowdelay_subband(), metasound_read_bitstream(), mp_decode_frame(), mp_decode_layer3(), mpc7_decode_frame(), mpc8_decode_frame(), mpeg4_is_resync(), mpeg_decode_slice(), mss2_decode_frame(), mxpeg_decode_frame(), parse_bintree(), parse_setup_header(), ps_read_extension_data(), qdm2_decode_sub_packet_header(), qdm2_decode_super_block(), qt_rtp_parse_packet(), read_access_unit(), read_block_data(), read_huffman_tables(), read_restart_header(), read_sbr_data(), read_sbr_header(), read_sl_header(), remaining_bits(), rv10_decode_packet(), save_bits(), seq_unpack_rle_block(), shorten_decode_frame(), svq3_decode_frame(), svq3_decode_init(), svq3_decode_slice_header(), switch_buffer(), tak_decode_frame(), tak_parse(), tm2_read_stream(), twinvq_read_bitstream(), unpack_SQVH(), vaapi_h264_decode_slice(), vaapi_mpeg2_decode_slice(), vaapi_mpeg4_decode_slice(), vaapi_vc1_decode_slice(), vc1_decode_b_blocks(), vc1_decode_frame(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_init(), vc1_decode_p_blocks(), vorbis_decode_frame(), vorbis_floor1_decode(), wma_decode_superframe(), and wmavoice_decode_packet().

static void skip_bits_long ( GetBitContext s,
int  n 
)
inlinestatic

Definition at line 217 of file get_bits.h.

Referenced by aac_decode_er_frame(), adts_decode_extradata(), ape_decode_frame(), avpriv_mpeg4audio_get_config(), bink_decode_plane(), binkb_decode_plane(), check_bits_for_superframe(), check_for_slice(), dca_decode_frame(), dca_exss_parse_asset_header(), dca_exss_skip_mix_coeffs(), dca_parse_audio_coding_header(), dca_parse_frame_header(), dca_parse_params(), dca_subframe_footer(), decode_audio_specific_config(), decode_component(), decode_eld_specific_config(), decode_extension_payload(), decode_fill(), decode_frame(), decode_gop_header(), decode_lowdelay_slice(), decode_pce(), decode_pic_hdr(), decode_subframe(), dts_probe(), escape130_decode_frame(), ff_bgmc_decode_end(), ff_dca_exss_parse_header(), ff_dca_xbr_parse_frame(), ff_dca_xxch_decode_frame(), ff_decode_sbr_extension(), ff_dirac_init_arith_decoder(), ff_eac3_parse_header(), ff_flac_parse_streaminfo(), ff_h264_decode_mb_cavlc(), ff_h264_decode_sei(), ff_ivi_decode_frame(), ff_mlp_read_major_sync(), flac_header(), flashsv_decode_block(), get_ue_golomb_long(), handle_rstn(), huffman_decode(), hvcc_parse_ptl(), hvcc_parse_vui(), latm_decode_audio_specific_config(), latm_write_frame_header(), mov_write_dvc1_structs(), mp_decode_layer3(), mpc7_decode_frame(), mpc7_decode_init(), nelly_decode_block(), parse_config_ALS(), parse_setup_header(), read_frame_data(), read_sbr_extension(), read_sl_header(), read_specific_config(), read_stream_mux_config(), save_bits(), skip_data_stream_element(), skip_timing_info(), svq3_decode_slice_header(), switch_buffer(), theora_header(), tta_decode_frame(), tta_decode_init(), vp3_decode_frame(), and wmavoice_decode_packet().

static int get_xbits ( GetBitContext s,
int  n 
)
inlinestatic

read mpeg1 dc style vlc (sign bit + mantissa with no MSB).

if MSB not set it is negative

Parameters
nlength in bits

Definition at line 231 of file get_bits.h.

Referenced by decode_dc(), decode_i_block(), jpg_decode_block(), mjpeg_decode_dc(), mpeg4_decode_dc(), and mpeg4_decode_sprite_trajectory().

static int get_sbits ( GetBitContext s,
int  n 
)
inlinestatic
static unsigned int get_bits ( GetBitContext s,
int  n 
)
inlinestatic

Read 1-25 bits.

Definition at line 260 of file get_bits.h.

Referenced by aac_adtstoasc_filter(), aac_decode_frame_int(), ac3_decode_transform_coeffs_ch(), ac3_parse_header(), active_parameter_sets(), adpcm_swf_decode(), adts_decode_extradata(), aic_decode_coeffs(), alac_decode_frame(), apcm_dequant_add(), ape_decode_value_3860(), apply_color_indexing_transform(), arith_init(), asv1_decode_block(), asv2_get_bits(), at1_parse_bsm(), at1_unpack_dequant(), atrac3p_decode_frame(), avpriv_aac_parse_header(), avpriv_ac3_parse_header2(), avpriv_mpeg4audio_get_config(), avpriv_tak_parse_streaminfo(), aw_parse_coords(), aw_pulse_set1(), aw_pulse_set2(), bink_decode_plane(), binkb_decode_plane(), binkb_read_bundle(), bit_copy(), check_bits_for_superframe(), check_for_slice(), copy_bits(), dca_decode_frame(), dca_exss_parse_asset_header(), dca_exss_skip_mix_coeffs(), dca_parse_audio_coding_header(), dca_parse_frame_header(), dca_parse_params(), dca_subframe_footer(), dca_subframe_header(), dca_subsubframe(), decode(), decode2x2(), decode4x4(), decode8x8(), decode_ac_filter(), decode_audio_block(), decode_band_hdr(), decode_band_numwavs(), decode_band_types(), decode_block(), decode_cce(), decode_cdlms(), decode_channel(), decode_channel_code_tab(), decode_channel_map(), decode_channel_residues(), decode_channel_sf_idx(), decode_channel_sound_unit(), decode_channel_wordlen(), decode_chunks(), decode_coeff(), decode_cpe(), decode_decorrelation_matrix(), decode_display_orientation(), decode_dynamic_range(), decode_eld_specific_config(), decode_element(), decode_entropy_coded_image(), decode_envelope(), decode_exp_lsp(), decode_exp_vlc(), decode_exponents(), decode_ext_header(), decode_extension_payload(), decode_fill(), decode_frame(), decode_frame_header(), decode_frame_packing_arrangement(), decode_ga_specific_config(), decode_gain_control(), decode_gain_info(), decode_gainc_data(), decode_gainc_levels(), decode_gainc_loc_codes(), decode_gainc_npoints(), decode_gop_header(), decode_hrd_parameters(), decode_ics(), decode_ics_info(), decode_line(), decode_lowdelay_slice(), decode_lpc(), decode_lt_rps(), decode_ltp(), decode_macroblock(), decode_mb(), decode_mb_b(), decode_mb_i(), decode_mb_info(), decode_mclms(), decode_motion(), decode_nal_sei_decoded_picture_hash(), decode_nal_sei_display_orientation(), decode_nal_sei_frame_packing_arrangement(), decode_nal_sei_message(), decode_new_pred(), decode_packet(), decode_parameters(), decode_pce(), decode_pic(), decode_pic_hdr(), decode_pic_timing(), decode_picture_timing(), decode_plane_bitstream(), decode_plane_subdivision(), decode_prediction(), decode_profile_tier_level(), decode_pulses(), decode_residual(), decode_residuals(), decode_residues(), decode_rle(), decode_run_2bit(), decode_run_8bit(), decode_scale_factors(), decode_scalefactors(), decode_segment(), decode_seq_header(), decode_sequence_header_adv(), decode_skip_count(), decode_slice_header(), decode_spectrum(), decode_subframe(), decode_subframe_length(), decode_subframe_lpc(), decode_sym(), decode_sym_565(), decode_tns(), decode_tonal_components(), decode_tones_amplitude(), decode_tones_envelope(), decode_tones_frequency(), decode_tones_phase(), decode_unregistered_user_data(), decode_user_data(), decode_user_data_itu_t_t35(), decode_vbmtree(), decode_vol_header(), decode_vop_header(), decode_vui(), decode_vui_parameters(), decode_yuv_frame(), decorrelate(), decouple_info(), dequant_lsp10i(), dequant_lsp10r(), dequant_lsp16i(), dequant_lsp16r(), dnxhd_decode_macroblock(), do_output_subblock(), dss_sp_unpack_coeffs(), dts_probe(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), escape124_decode_frame(), escape130_decode_frame(), extend_code(), ff_atrac3p_decode_channel_unit(), ff_dca_exss_parse_header(), ff_dca_xbr_parse_frame(), ff_dca_xxch_decode_frame(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eac3_parse_header(), ff_flac_decode_frame_header(), ff_flac_parse_streaminfo(), ff_flv_decode_picture_header(), ff_h263_decode_mba(), ff_h263_decode_motion(), ff_h263_decode_picture_header(), ff_h264_decode_mb_cavlc(), ff_h264_decode_picture_parameter_set(), ff_h264_decode_sei(), ff_h264_decode_seq_parameter_set(), ff_h264_decode_slice_header(), ff_hevc_decode_nal_pps(), ff_hevc_decode_nal_sps(), ff_hevc_decode_nal_vps(), ff_intel_h263_decode_picture_header(), ff_ivi_dec_huff_desc(), ff_ivi_decode_frame(), ff_jpegls_decode_lse(), ff_mjpeg_decode_dht(), ff_mjpeg_decode_dqt(), ff_mjpeg_decode_sof(), ff_mjpeg_decode_sos(), ff_mlp_read_major_sync(), ff_mpeg4_decode_partitions(), ff_mpeg4_decode_picture_header(), ff_mpeg4_decode_video_packet_header(), ff_msmpeg4_decode_ext_header(), ff_msmpeg4_decode_motion(), ff_msmpeg4_decode_picture_header(), ff_rdt_parse_header(), ff_rtp_send_h263_rfc2190(), ff_rv_decode_dc(), ff_tak_decode_frame_header(), ff_vc1_decode_entry_point(), ff_vc1_decode_sequence_header(), ff_vc1_parse_frame_header(), ff_vc1_parse_frame_header_adv(), ff_wma_run_level_decode(), ff_wmv2_decode_picture_header(), fic_decode_block(), fill_slice(), flac_header(), flashsv_decode_frame(), g722_decode_frame(), gainc_loc_mode0(), gainc_loc_mode1(), gb_get_v(), get_array(), get_bits_esc4(), get_bits_long(), get_bitsz(), get_block(), get_coeff_bits(), get_dimension(), get_egolomb(), get_float(), get_mvdata_interlaced(), get_num_ct_values(), get_object_type(), get_qscale(), get_rice_ook(), get_sample_rate(), get_sbits_inv(), get_scale(), get_scale_idx(), get_tail(), get_ue_code(), get_utf8(), get_value_cached(), gsm_decode_block(), gsm_decode_frame(), h261_decode_block(), h261_decode_gob_header(), h261_decode_mb(), h261_decode_picture_header(), h261_handle_packet(), h263_decode_block(), h263_decode_dquant(), h263_decode_gob_header(), h263_get_modb(), h263_handle_packet(), handle_rstn(), hl_decode_mb(), hl_decode_mb_444(), hls_nal_unit(), hls_slice_header(), hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), hqx_decode_444a(), huf_unpack_enc_table(), hvcc_parse_ptl(), hvcc_parse_sps(), hvcc_parse_vps(), hvcc_parse_vui(), idx_to_quant(), imc_decode_block(), imc_get_coeffs(), imc_read_level_coeffs(), imc_read_level_coeffs_raw(), ipvideo_decode_opcodes(), ivi_dec_tile_data_size(), kempf_restore_buf(), latm_decode_frame(), latm_get_value(), load_matrix(), metasound_read_bitstream(), mjpeg_decode_app(), mjpeg_decode_com(), mjpeg_decode_dri(), mono_decode(), mov_write_ac3_tag(), mov_write_dvc1_structs(), mp_decode_frame(), mp_decode_layer1(), mp_decode_layer2(), mp_decode_layer3(), mp_read_changes_map(), mp_read_codes_table(), mpc7_decode_frame(), mpc7_decode_init(), mpc8_decode_frame(), mpc8_decode_init(), mpc8_parse_seektable(), mpeg1_decode_picture(), mpeg1_decode_sequence(), mpeg4_decode_dc(), mpeg4_decode_gop_header(), mpeg4_decode_mb(), mpeg4_decode_partition_a(), mpeg4_decode_partition_b(), mpeg4_decode_profile_level(), mpeg4_is_resync(), mpeg_decode_gop(), mpeg_decode_mb(), mpeg_decode_motion(), mpeg_decode_picture_coding_extension(), mpeg_decode_sequence_display_extension(), mpeg_decode_sequence_extension(), msmpeg4_decode_dc(), msmpeg4v2_decode_motion(), mss2_decode_frame(), mss4_decode_image_block(), nal_unit_parse_header(), nelly_decode_block(), num_coded_units(), on2avc_decode_band_scales(), on2avc_decode_band_types(), on2avc_decode_subframe(), opus_rc_init(), opus_rc_normalize(), parse_bintree(), parse_config_ALS(), parse_fmtp_config(), parse_mb_skip(), parse_nal_units(), parse_packet_header(), parse_ptl(), parse_setup_header(), parse_transform_color_indexing(), pcx_decode_frame(), process_subpacket_11(), put_pcm(), qcelp_decode_frame(), qdm2_decode_fft_packets(), qdm2_decode_sub_packet_header(), qdm2_decode_super_block(), qdm2_fft_decode_tones(), qdm2_get_vlc(), qt_rtp_parse_packet(), ra144_decode_frame(), ra288_decode_frame(), read_access_unit(), read_audio_mux_element(), read_block_data(), read_block_types(), read_cb_data(), read_channel_data(), read_channel_params(), read_code_table(), read_dcs(), read_dct_coeffs(), read_decoding_params(), read_filter_params(), read_header(), read_huff_channels(), read_huffman_code_normal(), read_huffman_code_simple(), read_huffman_tree(), read_len_table(), read_matrix_params(), read_motion_values(), read_payload_length_info(), read_quant_spectral_coeffs(), read_residue(), read_restart_header(), read_runs(), read_sbr_data(), read_sbr_envelope(), read_sbr_grid(), read_sbr_header(), read_sbr_invf(), read_sbr_noise(), read_sl_header(), read_specific_config(), read_stream_mux_config(), read_tree(), read_var_block_data(), read_vec_pos(), rv10_decode_picture_header(), rv20_decode_picture_header(), rv30_parse_slice_header(), rv34_decode_inter_mb_header(), rv34_decode_intra_mb_header(), rv40_parse_slice_header(), save_bits(), seq_decode_op1(), seqvideo_decode(), skip_data_stream_element(), skip_hdr_extension(), smacker_decode_header_tree(), smacker_decode_tree(), smka_decode_frame(), svq1_decode_frame(), svq1_decode_frame_header(), svq1_parse_string(), svq3_decode_init(), svq3_decode_slice_header(), swf_probe(), synth_block_fcb_acb(), synth_block_hardcoded(), synth_frame(), synth_superframe(), synthfilt_build_sb_samples(), tak_decode_frame(), tak_read_header(), tgq_decode_block(), tgv_decode_inter(), theora_header(), tm2_build_huff_table(), tm2_read_deltas(), truespeech_read_frame(), tscc2_decode_mb(), tta_decode_frame(), tta_decode_init(), twinvq_read_bitstream(), unpack_alpha(), unpack_bitstream(), unpack_block_qpis(), unpack_codebook(), unpack_dct_coeffs(), unpack_frame(), unpack_modes(), unpack_superblocks(), unpack_vectors(), unpack_vlcs(), vaapi_mpeg2_decode_slice(), vble_restore_plane(), vc1_decode_ac_coeff(), vc1_decode_frame(), vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_init(), vc1_decode_intra_block(), vlc_decode_block(), vop_dquant_decoding(), vorbis_decode_init(), vorbis_floor0_decode(), vorbis_floor1_decode(), vorbis_parse_audio_packet(), vorbis_parse_id_hdr(), vorbis_parse_setup_hdr(), vorbis_parse_setup_hdr_codebooks(), vorbis_parse_setup_hdr_floors(), vorbis_parse_setup_hdr_mappings(), vorbis_parse_setup_hdr_modes(), vorbis_parse_setup_hdr_residues(), vorbis_parse_setup_hdr_tdtransforms(), vp3_decode_frame(), vp6_get_nb_null(), vp6_parse_coeff_huffman(), vp8_lossless_decode_frame(), wma_decode_block(), wma_decode_superframe(), wnv1_get_code(), wv_get_value(), wv_get_value_float(), wv_get_value_integer(), x8_get_ac_rlf(), x8_get_dc_rlf(), x8_get_orient_vlc(), and x8_select_ac_table().

static unsigned int get_bits_le ( GetBitContext s,
int  n 
)
inlinestatic

Definition at line 272 of file get_bits.h.

Referenced by adpcm_ima_wav_expand_nibble().

static unsigned int show_bits ( GetBitContext s,
int  n 
)
inlinestatic
static void skip_bits ( GetBitContext s,
int  n 
)
inlinestatic

Definition at line 297 of file get_bits.h.

Referenced by aac_decode_er_frame(), ac3_parse_header(), aic_decode_coeffs(), align_get_bits(), apply_color_indexing_transform(), at1_parse_bsm(), avpriv_aac_parse_header(), avpriv_ac3_parse_header2(), avpriv_mpeg4audio_get_config(), avpriv_tak_parse_streaminfo(), bitline2chunky(), bitplanar2chunky(), cabac_init_decoder(), check_bits_for_superframe(), dca_decode_frame(), dca_exss_parse_asset_header(), dca_parse_params(), dca_subframe_footer(), decode_argb_frame(), decode_audio_block(), decode_band_hdr(), decode_block(), decode_buffering_period(), decode_dynamic_range(), decode_element(), decode_frame(), decode_frame_header(), decode_frame_packing_arrangement(), decode_ga_specific_config(), decode_gop_header(), decode_hrd(), decode_nal_sei_decoded_picture_hash(), decode_nal_sei_frame_packing_arrangement(), decode_nal_sei_message(), decode_packet(), decode_pce(), decode_pic(), decode_pic_hdr(), decode_picture_timing(), decode_profile_tier_level(), decode_recovery_point(), decode_residual(), decode_rgb24_frame(), decode_scalar(), decode_seq_header(), decode_sequence_header_adv(), decode_unregistered_user_data(), decode_user_data_itu_t_t35(), decode_vol_header(), decode_yuv_frame(), dts_probe(), ff_dca_exss_parse_header(), ff_decode_sbr_extension(), ff_eac3_parse_header(), ff_flac_decode_frame_header(), ff_flac_parse_streaminfo(), ff_h263_decode_picture_header(), ff_h263_resync(), ff_h264_decode_seq_parameter_set(), ff_hevc_decode_nal_sps(), ff_hevc_decode_nal_vps(), ff_intel_h263_decode_picture_header(), ff_jpegls_decode_picture(), ff_mjpeg_decode_sos(), ff_mlp_read_major_sync(), ff_mpeg4_decode_partitions(), ff_mpeg4_decode_picture_header(), ff_mpeg4_decode_video_packet_header(), ff_msmpeg4_decode_ext_header(), ff_msmpeg4_decode_picture_header(), ff_rdt_parse_header(), ff_rtp_send_h263_rfc2190(), ff_rv_decode_dc(), ff_tak_decode_frame_header(), ff_vc1_decode_entry_point(), ff_vc1_decode_sequence_header(), ff_vc1_parse_frame_header(), ff_vc1_parse_frame_header_adv(), flashsv_decode_frame(), g722_decode_frame(), get_bits_align32(), get_scale(), h261_decode_block(), h261_decode_gob_header(), h261_handle_packet(), h261_resync(), h263_decode_gob_header(), h263_handle_packet(), handle_rstn(), hls_slice_header(), hqx_get_ac(), hvcc_parse_pps(), hvcc_parse_ptl(), hvcc_parse_sps(), hvcc_parse_vps(), hvcc_parse_vui(), ljpeg_decode_rgb_scan(), ljpeg_decode_yuv_scan(), metasound_read_bitstream(), mjpeg_decode_app(), mjpegb_decode_frame(), mov_write_ac3_tag(), mov_write_dvc1_structs(), mp_decode_frame(), mp_decode_layer3(), mpc8_decode_frame(), mpc8_decode_init(), mpeg1_decode_sequence(), mpeg4_is_resync(), mpeg_decode_picture_display_extension(), mpeg_decode_sequence_display_extension(), mpeg_decode_sequence_extension(), mpeg_decode_slice(), mss2_decode_frame(), mxpeg_decode_app(), mxpeg_decode_com(), nal_unit_parse_header(), parse_adts_frame_header(), parse_fmtp_config(), parse_nal_units(), parse_packet_header(), parse_ptl(), parse_setup_header(), preview_obmc(), qdm2_decode_super_block(), qt_rtp_parse_packet(), read_access_unit(), read_block_data(), read_const_block_data(), read_header(), read_payload_length_info(), read_restart_header(), read_sbr_channel_pair_element(), read_sbr_data(), read_sbr_header(), read_sbr_single_channel_element(), read_sl_header(), read_specific_config(), read_stream_mux_config(), rv10_decode_picture_header(), rv20_decode_picture_header(), save_bits(), shorten_decode_frame(), skip_1stop_8data_bits(), skip_bits1(), skip_hdr_extension(), skip_hrd_parameters(), svq1_decode_frame(), svq1_decode_frame_header(), svq3_decode_frame(), svq3_decode_slice_header(), swf_probe(), synth_block_fcb_acb(), synth_superframe(), tak_decode_frame(), tgq_decode_block(), theora_header(), twinvq_read_bitstream(), vaapi_mpeg2_decode_slice(), vble_unpack(), vorbis_parse_setup_hdr_mappings(), vp3_decode_frame(), wma_decode_superframe(), and wmavoice_decode_packet().

static unsigned int get_bits1 ( GetBitContext s)
inlinestatic

Definition at line 304 of file get_bits.h.

Referenced by ac3_parse_header(), aic_decode_coeffs(), arith_normalise(), atrac3p_decode_frame(), avpriv_aac_parse_header(), avpriv_ac3_parse_header2(), avpriv_mpeg4audio_get_config(), avpriv_tak_parse_streaminfo(), avs_decode_frame(), aw_pulse_set2(), bink_decode_plane(), binkb_decode_plane(), bitline2chunky(), bitplanar2chunky(), bitplane_decoding(), check_bits_for_superframe(), check_marker(), codeblock(), coeff_unpack_golomb(), dca_exss_parse_asset_header(), dca_parse_audio_coding_header(), dca_subframe_footer(), decode(), decode012(), decode210(), decode2x2(), decode4x4(), decode8x8(), decode_audio_block(), decode_band(), decode_band_hdr(), decode_band_structure(), decode_block(), decode_cce(), decode_cdlms(), decode_channel_code_tab(), decode_channel_map(), decode_channel_residues(), decode_channel_transform(), decode_channel_wordlen(), decode_code_table_indexes(), decode_coeff(), decode_coeffs(), decode_colskip(), decode_cpe(), decode_decorrelation_matrix(), decode_display_orientation(), decode_drc_channel_exclusions(), decode_dynamic_range(), decode_eld_specific_config(), decode_element(), decode_entropy_coded_image(), decode_ext_header(), decode_frame(), decode_frame_header(), decode_frame_packing_arrangement(), decode_ga_specific_config(), decode_gain_info(), decode_gainc_data(), decode_gainc_levels(), decode_gainc_loc_codes(), decode_gop_header(), decode_header_trees(), decode_hrd(), decode_hrd_parameters(), decode_ics(), decode_ics_info(), decode_line(), decode_lt_rps(), decode_ltp(), decode_macroblock(), decode_mb_i(), decode_mb_info(), decode_mb_p(), decode_mclms(), decode_mid_side_stereo(), decode_motion(), decode_mv_component(), decode_nal_sei_display_orientation(), decode_nal_sei_frame_packing_arrangement(), decode_new_pred(), decode_packet(), decode_pce(), decode_pic(), decode_pic_hdr(), decode_prediction(), decode_profile_tier_level(), decode_qu_spectra(), decode_residual(), decode_residues(), decode_rice(), decode_rle(), decode_rowskip(), decode_run_8bit(), decode_scale_factors(), decode_scaling_list(), decode_scaling_matrices(), decode_segment(), decode_seq_header(), decode_sequence_header_adv(), decode_skip_count(), decode_slice_header(), decode_spectrum(), decode_subframe(), decode_subframe_length(), decode_tilehdr(), decode_tns(), decode_tonal_components(), decode_tones_envelope(), decode_tones_frequency(), decode_tones_info(), decode_vol_header(), decode_vop_header(), decode_vui(), decode_vui_parameters(), decorrelate(), decouple_info(), dirac_get_se_golomb(), dirac_unpack_idwt_params(), dirac_unpack_prediction_parameters(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), escape124_decode_frame(), escape130_decode_frame(), ff_atrac3p_decode_channel_unit(), ff_bgmc_decode(), ff_ccitt_unpack(), ff_dca_exss_parse_header(), ff_dca_xbr_parse_frame(), ff_decode_sbr_extension(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eac3_parse_header(), ff_flac_decode_frame_header(), ff_h263_decode_mb(), ff_h263_decode_motion(), ff_h263_decode_picture_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(), ff_h264_decode_slice_header(), ff_hevc_decode_nal_pps(), ff_hevc_decode_nal_sps(), ff_hevc_decode_nal_vps(), ff_hevc_decode_short_term_rps(), ff_intel_h263_decode_picture_header(), ff_intrax8_decode_picture(), ff_mlp_read_major_sync(), ff_mpeg4_decode_video_packet_header(), ff_msmpeg4_decode_ext_header(), ff_msmpeg4_decode_picture_header(), ff_pred_weight_table(), ff_rdt_parse_header(), ff_rv_decode_dc(), ff_set_ref_count(), ff_vc1_decode_entry_point(), ff_vc1_decode_sequence_header(), ff_vc1_parse_frame_header(), ff_vc1_parse_frame_header_adv(), ff_vc1_pred_b_mv(), ff_vc1_pred_mv(), ff_vorbis_len2vlc(), ff_wma_get_large_val(), ff_wma_run_level_decode(), ff_wmv2_decode_mb(), ff_wmv2_decode_picture_header(), ff_wmv2_decode_secondary_picture_header(), fic_decode_block(), find_group3_syncmarker(), flashsv_decode_frame(), gb_get_v(), get_bits1_vector(), get_bits_esc4(), get_dimension(), get_dmv(), get_egolomb(), get_float(), get_num_ct_values(), get_sbits_inv(), get_subband_flags(), get_tail(), get_te0_golomb(), get_te_golomb(), get_unary(), get_value_cached(), h261_decode_picture_header(), h263_decode_dquant(), h263_decode_gob_header(), h263_get_modb(), h263p_decode_umotion(), hls_nal_unit(), hls_slice_header(), hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), hqx_decode_444a(), huff_reader_get_symbol(), huffman_decode(), hvcc_parse_pps(), hvcc_parse_ptl(), hvcc_parse_sps(), hvcc_parse_vui(), idx_to_quant(), imc_decode_block(), imc_get_skip_coeff(), init_tone_level_dequantization(), ipdopd_reset(), ivi_dec_tile_data_size(), lag_decode_prob(), ls_decode_line(), merge(), metasound_read_bitstream(), mjpeg_decode_scan(), mov_write_ac3_tag(), mov_write_dvc1_structs(), mp_decode_layer3(), mp_get_code(), mpc7_decode_frame(), mpc7_decode_init(), mpc8_dec_base(), mpc8_decode_frame(), mpc8_decode_init(), mpeg1_decode_picture(), mpeg1_decode_sequence(), mpeg4_decode_dc(), mpeg4_decode_mb(), mpeg4_decode_partition_a(), mpeg4_decode_partition_b(), mpeg4_is_resync(), mpeg_decode_gop(), mpeg_decode_mb(), mpeg_decode_motion(), mpeg_decode_picture_coding_extension(), mpeg_decode_quant_matrix_extension(), mpeg_decode_sequence_display_extension(), mpeg_decode_sequence_extension(), msmpeg4_decode_dc(), msmpeg4v12_decode_mb(), msmpeg4v2_decode_motion(), msmpeg4v34_decode_mb(), mss2_decode_frame(), mss4_decode_image_block(), on2avc_decode_subframe(), on2avc_read_ms_info(), parse_mb_skip(), parse_nal_units(), parse_packet_header(), parse_ptl(), parse_rps(), parse_setup_header(), parse_source_parameters(), pps_range_extensions(), pred_weight_table(), preview_obmc(), ps_read_extension_data(), qdm2_fft_decode_tones(), qt_rtp_parse_packet(), read_access_unit(), read_block(), read_block_types(), read_channel_data(), read_channel_params(), read_colors(), read_const_block_data(), read_dcs(), read_dct_coeffs(), read_decoding_params(), read_filter_params(), read_frame_data(), read_huff_channels(), read_huffman_code_normal(), read_huffman_code_simple(), read_huffman_tree(), read_matrix_params(), read_motion_values(), read_residue(), read_restart_header(), read_runs(), read_sbr_channel_pair_element(), read_sbr_data(), read_sbr_grid(), read_sbr_header(), read_sbr_single_channel_element(), read_sl_header(), read_specific_config(), read_tree(), read_var_block_data(), read_vec_pos(), rv10_decode_picture_header(), rv20_decode_picture_header(), rv30_parse_slice_header(), rv34_decode_cbp(), rv34_decode_intra_mb_header(), rv40_decode_intra_types(), rv40_parse_slice_header(), scaling_list_data(), scan_mmco_reset(), skip_1stop_8data_bits(), skip_data_stream_element(), skip_hrd_parameters(), skip_scaling_list_data(), skip_timing_info(), smacker_decode_bigtree(), smacker_decode_header_tree(), smacker_decode_tree(), smk_get_code(), smka_decode_frame(), svq1_decode_frame_header(), svq1_decode_motion_vector(), svq3_decode_init(), svq3_decode_mb(), svq3_decode_slice_header(), synth_block_fcb_acb(), synth_superframe(), synthfilt_build_sb_samples(), tak_decode_frame(), tm2_read_tree(), truespeech_read_frame(), tscc2_decode_mb(), twinvq_read_bitstream(), unpack_alpha(), unpack_bitstream(), unpack_block_qpis(), unpack_frame(), unpack_SQVH(), unpack_superblocks(), unpack_vectors(), vaapi_mpeg2_decode_slice(), vble_unpack(), vc1_decode_ac_coeff(), vc1_decode_b_mb(), vc1_decode_b_mb_intfi(), vc1_decode_b_mb_intfr(), vc1_decode_frame(), vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_intra_block(), vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), vc1_decode_p_mb_intfr(), vop_dquant_decoding(), vorbis_floor1_decode(), vorbis_parse_audio_packet(), vorbis_parse_id_hdr(), vorbis_parse_setup_hdr(), vorbis_parse_setup_hdr_codebooks(), vorbis_parse_setup_hdr_mappings(), vorbis_parse_setup_hdr_modes(), vorbis_parse_setup_hdr_residues(), vp3_decode_frame(), vp6_get_nb_null(), vp6_parse_coeff_huffman(), vp8_lossless_decode_frame(), wma_decode_block(), wmv2_decode_motion(), wmv2_pred_motion(), wv_get_value(), wv_get_value_float(), x8_decode_intra_mb(), x8_get_ac_rlf(), and xan_huffman_decode().

static unsigned int show_bits1 ( GetBitContext s)
inlinestatic

Definition at line 324 of file get_bits.h.

Referenced by decode_vui_parameters().

static void skip_bits1 ( GetBitContext s)
inlinestatic
static unsigned int get_bits_long ( GetBitContext s,
int  n 
)
inlinestatic

Read 0-32 bits.

Definition at line 337 of file get_bits.h.

Referenced by dca_decode_frame(), dca_exss_parse_asset_header(), dca_subframe_footer(), decode_band_hdr(), decode_block(), decode_buffering_period(), decode_channel_residues(), decode_element(), decode_frame(), decode_frame_header(), decode_gop_header(), decode_lowdelay_slice(), decode_pic_hdr(), decode_picture_timing(), decode_rice(), decode_scalar(), decode_segment(), decode_user_data_itu_t_t35(), decode_vui(), decode_vui_parameters(), dirac_decode_picture_header(), dss_sp_unpack_coeffs(), escape124_decode_frame(), ff_bgmc_decode_init(), ff_dca_exss_parse_header(), ff_flac_parse_streaminfo(), ff_flv_decode_picture_header(), ff_hevc_decode_nal_vps(), ff_intel_h263_decode_picture_header(), ff_mlp_read_major_sync(), ff_mpeg4_decode_partitions(), ff_msmpeg4_decode_picture_header(), ff_rdt_parse_header(), ff_wma_get_large_val(), flac_header(), get_bits64(), get_block_sizes(), get_float(), get_sbits_long(), get_ue_golomb_long(), hvcc_parse_ptl(), init_entropy_decoder(), ivi_dec_tile_data_size(), lag_decode_prob(), latm_get_value(), ls_decode_line(), mjpeg_decode_app(), mjpegb_decode_frame(), mov_read_stsz(), mp_read_changes_map(), mpc8_dec_base(), parse_config_ALS(), read_channel_data(), read_header(), read_offs(), read_specific_config(), read_var_block_data(), rtp_parse_mp4_au(), show_bits_long(), swf_probe(), tak_read_header(), theora_header(), tm2_build_huff_table(), tm2_read_deltas(), tm2_read_tree(), truespeech_read_frame(), tta_decode_init(), vaapi_mpeg2_decode_slice(), vorbis_parse_id_hdr(), vorbis_parse_setup_hdr_codebooks(), and wavpack_decode_block().

static uint64_t get_bits64 ( GetBitContext s,
int  n 
)
inlinestatic

Read 0-64 bits.

Definition at line 357 of file get_bits.h.

Referenced by avpriv_tak_parse_streaminfo(), ff_flac_parse_streaminfo(), get_ts64(), hvcc_parse_ptl(), and tak_read_header().

static int get_sbits_long ( GetBitContext s,
int  n 
)
inlinestatic
static unsigned int show_bits_long ( GetBitContext s,
int  n 
)
inlinestatic
static int check_marker ( GetBitContext s,
const char *  msg 
)
inlinestatic
static int init_get_bits ( GetBitContext s,
const uint8_t buffer,
int  bit_size 
)
inlinestatic

Initialize GetBitContext.

Parameters
bufferbitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger than the actual read bits because some optimized bitstream readers read 32 or 64 bit at once and could read over the end
bit_sizethe size of the buffer in bits
Returns
0 on success, AVERROR_INVALIDDATA if the buffer_size would overflow.

Definition at line 410 of file get_bits.h.

Referenced by aac_adtstoasc_filter(), aac_decode_frame(), aac_sync(), ac3_eac3_probe(), ac3_sync(), adpcm_swf_decode(), adts_decode_extradata(), adx_decode(), aic_decode_slice(), apply_color_indexing_transform(), atrac1_decode_frame(), avpriv_mpeg4audio_get_config(), avs_decode_frame(), cavs_decode_frame(), check_bits_for_superframe(), dca_parse_frame_header(), dca_parse_params(), decode_alpha_plane(), decode_audio_specific_config(), decode_bytes_and_gain(), decode_chunks(), decode_ext_header(), decode_frame(), decode_i_frame(), decode_lowdelay(), decode_nal_units(), decode_p_frame(), decode_packet(), decode_plane(), decode_rle(), decode_slice(), decode_slice_alpha(), decode_slice_chroma(), decode_slice_luma(), decode_slice_plane(), dirac_decode_data_unit(), dirac_header(), dnxhd_decode_macroblocks(), dss_sp_unpack_coeffs(), dts_probe(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), ff_flac_parse_streaminfo(), ff_ivi_decode_frame(), ff_mjpeg_decode_init(), ff_msgsm_decode_block(), ff_rdt_parse_header(), ff_rtp_send_h263_rfc2190(), ff_rv34_decode_frame(), ff_vorbis_len2vlc(), fic_decode_slice(), fill_slice(), flac_header(), frame_header_is_valid(), fraps2_decode_plane(), g722_decode_frame(), get_last_needed_nal(), gsm_decode_frame(), h261_decode_frame(), h261_handle_packet(), h263_handle_packet(), h264_find_frame_end(), hl_decode_mb(), hl_decode_mb_444(), hls_pcm_sample(), imc_decode_frame(), init_get_bits8(), ipvideo_decode_opcodes(), ir2_decode_frame(), jpg_decode_data(), kempf_restore_buf(), main(), metasound_read_bitstream(), mimic_decode_frame(), mjpeg_decode_scan(), mjpegb_decode_frame(), mlp_parse(), mov_read_stsz(), mov_write_ac3_tag(), mov_write_dvc1_structs(), mp_decode_frame(), mp_decode_layer3(), mpc7_decode_frame(), mpc7_decode_init(), mpc8_decode_frame(), mpc8_decode_init(), mpc8_parse_seektable(), mpeg1_decode_picture(), mpeg1_decode_sequence(), mpeg4_decode_header(), mpeg_decode_gop(), mpeg_decode_slice(), mxpeg_decode_frame(), nelly_decode_block(), parse_fmtp_config(), parse_nal_units(), parse_setup_header(), process_subpacket_10(), process_subpacket_11(), process_subpacket_12(), process_subpacket_9(), qdm2_decode_fft_packets(), qdm2_decode_super_block(), qt_rtp_parse_packet(), read_access_unit(), read_huffman_tables(), read_old_huffman_tables(), read_sl_header(), rtp_parse_mp4_au(), rv10_decode_packet(), rv34_decode_slice(), save_bits(), seq_decode_op1(), seq_unpack_rle_block(), seqvideo_decode(), shorten_decode_frame(), sipr_decode_frame(), spdif_get_offset_and_codec(), spdif_header_aac(), svq1_decode_frame(), svq3_decode_frame(), svq3_decode_init(), synth_superframe(), tgv_decode_inter(), theora_header(), tm2_read_stream(), tqi_decode_frame(), truespeech_read_frame(), unpack_bitstream(), vaapi_mpeg2_decode_slice(), vble_decode_frame(), vc1_decode_frame(), vc1_decode_init(), vc1_extract_header(), vorbis_decode_frame(), vorbis_decode_init(), vp6_parse_header(), wma_decode_superframe(), wmavoice_decode_init(), and wmavoice_decode_packet().

static int init_get_bits8 ( GetBitContext s,
const uint8_t buffer,
int  byte_size 
)
inlinestatic

Initialize GetBitContext.

Parameters
bufferbitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger than the actual read bits because some optimized bitstream readers read 32 or 64 bit at once and could read over the end
byte_sizethe size of the buffer in bytes
Returns
0 on success, AVERROR_INVALIDDATA if the buffer_size would overflow.

Definition at line 441 of file get_bits.h.

Referenced by ac3_decode_frame(), adpcm_decode_frame(), alac_decode_frame(), ape_decode_frame(), atrac3p_decode_frame(), bitline2chunky(), bitplanar2chunky(), cllc_decode_frame(), decode_frame(), decode_frame_header(), decode_header_trees(), decode_nal_unit(), decode_nal_units(), decode_subband_internal(), decode_wmv9(), dxtory_decode_v2_410(), dxtory_decode_v2_420(), dxtory_decode_v2_444(), dxtory_decode_v2_565(), dxtory_decode_v2_rgb(), escape124_decode_frame(), escape130_decode_frame(), evrc_decode_frame(), ff_ccitt_unpack(), ff_h263_decode_frame(), ff_mjpeg_decode_frame(), ff_rtjpeg_decode_frame_yuv420(), flac_decode_frame(), flashsv_decode_frame(), hls_decode_entry_wpp(), hqx_decode_frame(), huf_unpack_enc_table(), hvcc_add_nal_unit(), lag_decode_arith_plane(), latm_decode_frame(), latm_write_frame_header(), loco_decode_plane(), mss1_decode_frame(), mss2_decode_frame(), mss4_decode_frame(), on2avc_decode_subframe(), opus_rc_init(), parse_nal_units(), pcx_decode_frame(), qcelp_decode_frame(), ra144_decode_frame(), ra288_decode_frame(), read_specific_config(), smka_decode_frame(), svq1_decode_frame(), swf_probe(), tak_decode_frame(), tak_parse(), tak_read_header(), tgq_decode_mb(), tscc2_decode_slice(), tta_decode_frame(), tta_decode_init(), twinvq_read_bitstream(), vp3_decode_frame(), vp8_lossless_decode_frame(), wavpack_decode_block(), and xan_huffman_decode().

static const uint8_t* align_get_bits ( GetBitContext s)
inlinestatic
int ff_init_vlc_sparse ( VLC vlc,
int  nb_bits,
int  nb_codes,
const void bits,
int  bits_wrap,
int  bits_size,
const void codes,
int  codes_wrap,
int  codes_size,
const void symbols,
int  symbols_wrap,
int  symbols_size,
int  flags 
)
void ff_free_vlc ( VLC vlc)
static av_always_inline int get_vlc2 ( GetBitContext s,
VLC_TYPE(*)  table[2],
int  bits,
int  max_depth 
)
static

Parse a vlc code.

Parameters
bitsis the number of bits which will be read at once, must be identical to nb_bits in init_vlc()
max_depthis the number of times bits bits must be read to completely read the longest vlc code = (max_vlc_length + bits - 1) / bits

Definition at line 555 of file get_bits.h.

Referenced by asv1_decode_block(), asv1_get_level(), asv2_decode_block(), asv2_get_level(), bitplane_decoding(), check_bits_for_superframe(), decode_band_numwavs(), decode_block(), decode_cce(), decode_channel(), decode_channel_sf_idx(), decode_channel_wordlen(), decode_coeff(), decode_coeffs(), decode_dc(), decode_envelope(), decode_exp_vlc(), decode_gainc_levels(), decode_gainc_loc_codes(), decode_gainc_npoints(), decode_group3_1d_line(), decode_group3_2d_line(), decode_i_block(), decode_i_frame(), decode_mb_info(), decode_mv_component(), decode_p_block(), decode_plane(), decode_plane_bitstream(), decode_qu_spectra(), decode_residual(), decode_rle(), decode_scale_factors(), decode_scalefactors(), decode_tones_amplitude(), decode_tones_frequency(), decode_tones_info(), decouple_info(), ff_h263_decode_mb(), ff_h263_decode_motion(), ff_msmpeg4_decode_motion(), ff_rv_decode_dc(), ff_wma_run_level_decode(), ff_wmv2_decode_mb(), fraps2_decode_plane(), gainc_level_mode1m(), gainc_loc_mode1(), get_bitalloc(), get_coeff(), get_mvdata_interlaced(), get_scale_idx(), h261_decode_mb(), hqx_decode_422a(), hqx_decode_444a(), huffman_decode(), idx_to_quant(), imc_read_level_coeffs(), ir2_get_code(), ivi_decode_coded_blocks(), jpg_decode_block(), mjpeg_decode_dc(), mp_get_vlc(), mpc7_decode_frame(), mpc8_decode_frame(), mpeg4_decode_dc(), mpeg4_decode_mb(), mpeg4_decode_partition_a(), mpeg4_decode_partition_b(), mpeg4_decode_sprite_trajectory(), mpeg_decode_mb(), mpeg_decode_motion(), mpeg_decode_slice(), msmpeg4_decode_dc(), msmpeg4v12_decode_mb(), msmpeg4v2_decode_motion(), msmpeg4v34_decode_mb(), mss4_decode_dct(), on2avc_decode_band_scales(), on2avc_decode_pairs(), on2avc_decode_quads(), preview_obmc(), qdm2_get_vlc(), read_bfraction(), read_huff_channels(), read_quant_spectral_coeffs(), read_sbr_envelope(), read_sbr_noise(), rv34_decode_block(), rv34_decode_cbp(), rv40_decode_intra_types(), rv40_decode_mb_info(), setup_classifs(), smacker_decode_bigtree(), smka_decode_frame(), svq1_decode_block_intra(), svq1_decode_block_non_intra(), svq1_decode_delta_block(), svq1_decode_motion_vector(), synth_frame(), tm2_get_token(), tscc2_decode_mb(), unpack_block_qpis(), unpack_modes(), unpack_SQVH(), unpack_superblocks(), unpack_vectors(), unpack_vlcs(), vc1_decode_ac_coeff(), vc1_decode_b_mb(), vc1_decode_b_mb_intfi(), vc1_decode_b_mb_intfr(), vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_intra_block(), vc1_decode_p_block(), vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), vc1_decode_p_mb_intfr(), vlc_decode_block(), vorbis_floor0_decode(), vorbis_floor1_decode(), vorbis_residue_decode_internal(), vp6_parse_coeff_huffman(), wma_decode_block(), wnv1_get_code(), x8_get_ac_rlf(), x8_get_dc_rlf(), and x8_get_orient_vlc().

static int decode012 ( GetBitContext gb)
inlinestatic
static int decode210 ( GetBitContext gb)
inlinestatic

Definition at line 580 of file get_bits.h.

Referenced by decode_mb(), ff_vc1_parse_frame_header_adv(), and vc1_decode_ac_coeff().

static int get_bits_left ( GetBitContext gb)
inlinestatic

Definition at line 588 of file get_bits.h.

Referenced by aac_decode_er_frame(), aac_decode_frame_int(), alac_decode_frame(), ape_decode_value_3860(), atrac3p_decode_frame(), avpriv_mpeg4audio_get_config(), bit_copy(), cabac_init_decoder(), check_bits_for_superframe(), check_slice_end(), copy_bits(), dca_exss_parse_asset_header(), dca_subframe_header(), dca_subsubframe(), decode_422_bitstream(), decode_ac_coeffs(), decode_band_types(), decode_block(), decode_channel(), decode_channel_residues(), decode_component(), decode_eld_specific_config(), decode_element(), decode_frame(), decode_gain_info(), decode_gray_bitstream(), decode_i_block(), decode_lowdelay(), decode_lowdelay_slice(), decode_mb(), decode_pce(), decode_plane(), decode_plane_bitstream(), decode_profile_tier_level(), decode_rice(), decode_skip_count(), decode_slice(), decode_subframe(), decode_subframe_length(), decode_vui(), decode_vui_parameters(), dv_decode_video_segment(), escape124_decode_frame(), ff_dca_exss_parse_header(), ff_dirac_init_arith_decoder(), ff_h263_decode_frame(), ff_h263_decode_mb(), ff_h263_decode_picture_header(), ff_h263_resync(), ff_h264_decode_mb_cavlc(), ff_h264_decode_sei(), ff_hevc_decode_nal_pps(), ff_hevc_decode_nal_sps(), ff_hevc_decode_nal_vps(), ff_intel_h263_decode_picture_header(), ff_ivi_decode_frame(), ff_lag_rac_init(), ff_mjpeg_decode_sos(), ff_msmpeg4_decode_block(), flashsv_decode_frame(), fraps2_decode_plane(), get_block(), get_rice_ook(), get_ts64(), h261_decode_mb(), h261_decode_picture_header(), h261_handle_packet(), h261_resync(), h263_decode_gob_header(), h263_handle_packet(), handle_rstn(), hls_slice_header(), init_quantized_coeffs_elem0(), init_tone_level_dequantization(), latm_decode_audio_specific_config(), mjpeg_decode_app(), mjpeg_decode_com(), mjpeg_decode_scan(), more_rbsp_data(), mp_decode_frame(), mp_decode_layer3(), mpc8_decode_frame(), mpeg_decode_slice(), parse_bintree(), parse_config_ALS(), parse_fmtp_config(), parse_packet_header(), parse_ptl(), parse_setup_header(), qdm2_fft_decode_tones(), read_audio_mux_element(), read_len_table(), read_specific_config(), rice_decompress(), seq_unpack_rle_block(), shorten_decode_frame(), skip_1stop_8data_bits(), skip_data_stream_element(), skip_hdr_extension(), smka_decode_frame(), synthfilt_build_sb_samples(), tak_decode_frame(), tgv_decode_inter(), tm2_read_stream(), tscc2_decode_mb(), tta_decode_frame(), unpack_alpha(), unpack_block_qpis(), unpack_codebook(), unpack_modes(), unpack_superblocks(), unpack_vectors(), unpack_vlcs(), vble_unpack(), vc1_decode_ac_coeff(), vp6_parse_coeff_huffman(), wavpack_decode_block(), wma_decode_block(), wma_decode_superframe(), wmavoice_decode_packet(), wv_get_value(), wv_get_value_float(), and wv_get_value_integer().

static int skip_1stop_8data_bits ( GetBitContext gb)
inlinestatic