libavcodec/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 "mathops.h"

Go to the source code of this file.

Data Structures

struct  GetBitContext
struct  VLC
struct  RL_VLC_ELEM

Defines

#define UNCHECKED_BITSTREAM_READER   !CONFIG_SAFE_BITSTREAM_READER
#define VLC_TYPE   int16_t
#define MIN_CACHE_BITS   25
#define OPEN_READER(name, gb)
#define HAVE_BITS_REMAINING(name, gb)   1
#define CLOSE_READER(name, gb)   (gb)->index = name##_index
#define UPDATE_CACHE(name, gb)
#define SKIP_CACHE(name, gb, num)   name##_cache <<= (num)
#define SKIP_COUNTER(name, gb, num)   name##_index += (num)
#define SKIP_BITS(name, gb, num)
#define LAST_SKIP_BITS(name, gb, num)   SKIP_COUNTER(name, gb, num)
#define SHOW_UBITS(name, gb, num)   NEG_USR32(name##_cache, num)
#define SHOW_SBITS(name, gb, num)   NEG_SSR32(name##_cache, 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(level, run, name, gb, table, bits, max_depth, need_update)
#define tprintf(p,...)   {}

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 + mantisse 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 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 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 void init_get_bits (GetBitContext *s, const uint8_t *buffer, int bit_size)
 Inititalize GetBitContext.
static void align_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)


Detailed Description

bitstream reader API header.

Definition in file get_bits.h.


Define Documentation

#define CLOSE_READER ( name,
gb   )     (gb)->index = name##_index

#define GET_CACHE ( name,
gb   )     ((uint32_t)name##_cache)

#define GET_RL_VLC ( 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 435 of file get_bits.h.

Referenced by decode_block_intra(), ff_msmpeg4_decode_block(), mdec_decode_block_intra(), mpeg1_decode_block_inter(), mpeg1_decode_block_intra(), mpeg1_fast_decode_block_inter(), mpeg2_decode_block_intra(), mpeg2_decode_block_non_intra(), mpeg2_fast_decode_block_intra(), mpeg2_fast_decode_block_non_intra(), and mpeg4_decode_block().

#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 403 of file get_bits.h.

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

#define HAVE_BITS_REMAINING ( name,
gb   )     1

Definition at line 126 of file get_bits.h.

Referenced by svq3_get_ue_golomb().

#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_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 390 of file get_bits.h.

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

#define INIT_VLC_USE_NEW_STATIC   4

#define LAST_SKIP_BITS ( name,
gb,
num   )     SKIP_COUNTER(name, gb, num)

#define MIN_CACHE_BITS   25

#define OPEN_READER ( name,
gb   ) 

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

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

#define SKIP_BITS ( name,
gb,
num   ) 

#define SKIP_CACHE ( name,
gb,
num   )     name##_cache <<= (num)

Definition at line 162 of file get_bits.h.

Referenced by ff_msmpeg4_decode_block(), and mpeg4_decode_block().

#define SKIP_COUNTER ( name,
gb,
num   )     name##_index += (num)

Definition at line 167 of file get_bits.h.

Referenced by ff_msmpeg4_decode_block(), and mpeg4_decode_block().

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

#define UNCHECKED_BITSTREAM_READER   !CONFIG_SAFE_BITSTREAM_READER

Definition at line 49 of file get_bits.h.

#define UPDATE_CACHE ( name,
gb   ) 

#define VLC_TYPE   int16_t


Function Documentation

static void align_get_bits ( GetBitContext s  )  [inline, static]

static int check_marker ( GetBitContext s,
const char *  msg 
) [inline, static]

static int decode012 ( GetBitContext gb  )  [inline, static]

static int decode210 ( GetBitContext gb  )  [inline, static]

Definition at line 493 of file get_bits.h.

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

void ff_free_vlc ( VLC vlc  ) 

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 
)

static unsigned int get_bits ( GetBitContext s,
int  n 
) [inline, static]

Read 1-25 bits.

Definition at line 235 of file get_bits.h.

Referenced by aac_adtstoasc_filter(), aac_decode_frame_int(), ac3_decode_transform_coeffs_ch(), ac3_parse_header(), adpcm_decode_frame(), alac_decode_frame(), apcm_dequant_add(), asv1_decode_block(), asv2_get_bits(), at1_parse_bsm(), at1_unpack_dequant(), avpriv_aac_parse_header(), avpriv_ac3_parse_header(), avpriv_flac_parse_streaminfo(), avpriv_mpeg4audio_get_config(), 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_parse_header(), dca_exss_skip_mix_coeffs(), dca_parse_audio_coding_header(), dca_parse_frame_header(), dca_subframe_footer(), dca_subframe_header(), dca_subsubframe(), dec_gain(), decode(), decode2x2(), decode4x4(), decode8x8(), decode_ac_filter(), decode_audio_block(), decode_band_hdr(), decode_band_types(), decode_block(), decode_buffering_period(), decode_cce(), decode_cdlms(), decode_channel_map(), decode_channel_residues(), decode_chunks(), decode_coeff(), decode_cpe(), decode_decorrelation_matrix(), decode_dynamic_range(), decode_envelope(), decode_exp_lsp(), decode_exp_vlc(), decode_exponents(), decode_ext_header(), decode_extension_payload(), decode_frame(), decode_gain_info(), decode_gop_header(), decode_hrd_parameters(), decode_ics(), decode_ics_info(), decode_line(), decode_lowdelay_slice(), decode_lpc(), decode_ltp(), decode_macroblock(), decode_mb(), decode_mb_b(), decode_mb_i(), decode_mb_info(), decode_mclms(), decode_mime_header(), decode_motion(), decode_packet(), decode_parameters(), decode_pce(), decode_pic(), decode_pic_hdr(), decode_picture_timing(), decode_plane_subdivision(), decode_prediction(), decode_pulses(), decode_residual(), decode_residuals(), decode_run_2bit(), decode_run_8bit(), decode_scalar(), decode_scale_factors(), decode_scalefactors(), decode_seq_header(), decode_sequence_header_adv(), decode_skip_count(), decode_slice_header(), decode_subframe(), decode_subframe_length(), decode_subframe_lpc(), decode_tns(), decode_unregistered_user_data(), decode_user_data(), decode_vbmtree(), decode_vol_header(), decode_vop_header(), decode_vui_parameters(), decodeChannelSoundUnit(), decodeFrame(), decodeGainControl(), decodeSpectrum(), decodeTonalComponents(), decouple_info(), dequant(), dequant_lsp10i(), dequant_lsp10r(), dequant_lsp16i(), dequant_lsp16r(), dnxhd_decode_macroblock(), do_output_subblock(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), escape124_decode_frame(), escape130_decode_frame(), ff_adts_decode_extradata(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eac3_parse_header(), ff_flac_decode_frame_header(), ff_flv2_decode_ac_esc(), 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_intel_h263_decode_picture_header(), ff_ivi_dec_huff_desc(), ff_ivi_dec_tile_data_size(), 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_msmpeg4_decode_motion(), ff_rdt_parse_header(), ff_wma_run_level_decode(), ff_wmv2_decode_picture_header(), fill_slice(), flac_header(), flashsv_decode_frame(), g722_decode_frame(), gb_get_v(), get_array(), get_bits64(), get_bits_long(), get_bitsz(), get_block(), get_dimension(), get_float(), get_mvdata_interlaced(), get_object_type(), get_qscale(), get_sample_rate(), get_scale(), get_scale_idx(), get_tail(), get_ue_code(), get_utf8(), getlblockinc(), getnpasses(), gsm_decode_block(), gsm_decode_frame(), h261_decode_block(), h261_decode_gob_header(), h261_decode_mb(), h261_decode_picture_header(), h261_probe(), h263_decode_block(), h263_decode_dquant(), h263_decode_gob_header(), h263_get_modb(), hl_decode_mb_444_internal(), hl_decode_mb_internal(), idx_to_quant(), imc_decode_frame(), imc_get_coeffs(), imc_read_level_coeffs(), ipvideo_decode_opcodes(), latm_decode_frame(), latm_get_value(), load_matrix(), mjpeg_decode_app(), mjpeg_decode_com(), mjpeg_decode_dri(), mjpeg_decode_scan(), mono_decode(), mov_write_ac3_tag(), 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_decode_video_packet_header(), 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(), msmpeg4_decode_ext_header(), msmpeg4_decode_picture_header(), msmpeg4v2_decode_motion(), nelly_decode_block(), parse_bintree(), parse_config_ALS(), parse_fmtp_config(), parse_mb_skip(), parse_nal_units(), parse_packet_header(), pcx_decode_frame(), process_subpacket_11(), 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_and_decode_spectrum(), read_audio_mux_element(), read_block_data(), read_block_types(), read_channel_data(), read_channel_params(), read_dcs(), read_dct_coeffs(), read_decoding_params(), read_filter_params(), read_header(), read_huff_channels(), read_huffman_tree(), read_len_table(), read_matrix_params(), read_motion_values(), read_payload_length_info(), 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(), readQuantSpectralCoeffs(), 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(), rv_decode_dc(), 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(), synth_block_fcb_acb(), synth_block_hardcoded(), synth_frame(), synth_superframe(), synthfilt_build_sb_samples(), tag_tree_decode(), tgq_decode_block(), tgv_decode_inter(), theora_header(), tm2_build_huff_table(), tm2_read_deltas(), truespeech_read_frame(), tta_decode_frame(), tta_decode_init(), twin_decode_frame(), unpack_bitstream(), unpack_block_qpis(), unpack_codebook(), unpack_dct_coeffs(), unpack_modes(), unpack_superblocks(), unpack_vectors(), unpack_vlcs(), vaapi_mpeg2_decode_slice(), vble_restore_plane(), vc1_decode_ac_coeff(), vc1_decode_entry_point(), vc1_decode_frame(), vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_init(), vc1_decode_intra_block(), vc1_decode_sequence_header(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), vlc_decode_block(), vop_dquant_decoding(), vorbis_decode_init(), vorbis_floor0_decode(), vorbis_floor1_decode(), 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(), 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_bits1 ( GetBitContext s  )  [inline, static]

Definition at line 266 of file get_bits.h.

Referenced by ac3_parse_header(), alac_decode_frame(), avpriv_aac_parse_header(), avpriv_ac3_parse_header(), avpriv_mpeg4audio_get_config(), avs_decode_frame(), aw_pulse_set2(), bink_decode_plane(), binkb_decode_plane(), bitplane_decoding(), check_bits_for_superframe(), check_marker(), codeblock(), coeff_unpack_golomb(), dca_exss_parse_asset_header(), dca_exss_parse_header(), decode(), decode012(), decode210(), decode2x2(), decode4x4(), decode8x8(), decode_audio_block(), decode_band(), decode_band_hdr(), decode_band_structure(), decode_cce(), decode_cdlms(), decode_channel_map(), decode_channel_residues(), decode_channel_transform(), decode_coeff(), decode_coeffs(), decode_colskip(), decode_cpe(), decode_decorrelation_matrix(), decode_drc_channel_exclusions(), decode_dynamic_range(), decode_ext_header(), decode_frame(), decode_ga_specific_config(), decode_gain_info(), decode_gop_header(), decode_header_trees(), decode_hrd_parameters(), decode_ics(), decode_ics_info(), decode_line(), decode_ltp(), decode_macroblock(), decode_mb_i(), decode_mb_info(), decode_mb_p(), decode_mclms(), decode_mid_side_stereo(), decode_mime_header(), decode_motion(), decode_mv_component(), decode_packet(), decode_pce(), decode_pic(), decode_pic_hdr(), decode_prediction(), decode_residual(), decode_rice(), decode_rowskip(), decode_run_8bit(), decode_scale_factors(), decode_scaling_list(), decode_scaling_matrices(), decode_seq_header(), decode_sequence_header_adv(), decode_skip_count(), decode_slice_header(), decode_subframe(), decode_subframe_length(), decode_tilehdr(), decode_tns(), decode_vol_header(), decode_vop_header(), decode_vui_parameters(), decodeFrame(), decodeSpectrum(), decodeTonalComponents(), decouple_info(), dequant(), 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_bgmc_decode(), ff_ccitt_unpack(), ff_decode_sbr_extension(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eac3_parse_header(), ff_flac_decode_frame_header(), ff_flv2_decode_ac_esc(), ff_flv_decode_picture_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_intel_h263_decode_picture_header(), ff_intrax8_decode_picture(), ff_ivi_dec_tile_data_size(), ff_mlp_read_major_sync(), ff_rdt_parse_header(), 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(), fill_slice(), find_group3_syncmarker(), flashsv_decode_frame(), gb_get_v(), get_bits1_vector(), get_dimension(), get_dmv(), get_float(), get_tail(), get_te0_golomb(), get_te_golomb(), get_unary(), h261_decode_block(), h261_decode_gob_header(), h261_decode_picture_header(), h261_probe(), h263_decode_block(), h263_decode_dquant(), h263_decode_gob_header(), h263_get_modb(), h263p_decode_umotion(), huffman_decode(), idx_to_quant(), imc_decode_frame(), imc_get_skip_coeff(), init_tone_level_dequantization(), ipdopd_reset(), lag_decode_prob(), ls_decode_line(), merge(), mjpeg_decode_scan(), mov_write_ac3_tag(), 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_decode_video_packet_header(), 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(), mpeg_decode_slice(), msmpeg4_decode_dc(), msmpeg4_decode_ext_header(), msmpeg4_decode_picture_header(), msmpeg4v12_decode_mb(), msmpeg4v2_decode_motion(), msmpeg4v34_decode_mb(), parse_mb_skip(), parse_nal_units(), parse_packet_header(), parse_source_parameters(), pred_weight_table(), preview_obmc(), ps_read_extension_data(), qdm2_fft_decode_tones(), qt_rtp_parse_packet(), read_access_unit(), read_and_decode_spectrum(), 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_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(), 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(), rv_decode_dc(), skip_data_stream_element(), 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(), tm2_read_tree(), truespeech_read_frame(), tta_get_unary(), unpack_bitstream(), unpack_block_qpis(), 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_entry_point(), 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(), vc1_decode_sequence_header(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), vc1_pred_b_mv(), vc1_pred_mv(), 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(), 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 int get_bits_count ( const GetBitContext s  )  [inline, static]

Definition at line 190 of file get_bits.h.

Referenced by aac_adtstoasc_filter(), aac_decode_frame(), adpcm_decode_frame(), alac_decode_frame(), align_get_bits(), avpriv_mpeg4audio_get_config(), bink_decode_plane(), binkb_decode_plane(), categorize(), check_bits_for_superframe(), check_for_slice(), cook_decode_frame(), dca_decode_frame(), dca_exss_parse_asset_header(), decode_audio_specific_config(), decode_band(), decode_component(), decode_frame(), decode_gain_info(), decode_lowdelay(), decode_lowdelay_slice(), decode_packet(), decode_rle(), decode_slice(), decode_subframe(), decode_user_data(), decode_vol_header(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), escape124_decode_frame(), escape130_decode_frame(), ff_dirac_init_arith_decoder(), ff_flac_decode_frame_header(), ff_h263_decode_frame(), ff_h263_resync(), ff_h264_decode_picture_parameter_set(), ff_mjpeg_decode_frame(), ff_mlp_read_major_sync(), ff_mpeg4_decode_picture_header(), ff_rdt_parse_header(), 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(), huffman_decode(), imc_decode_frame(), imc_get_coeffs(), lag_rac_init(), latm_decode_audio_specific_config(), loco_decode_plane(), lowdelay_subband(), mjpeg_decode_scan(), mp_decode_frame(), mp_decode_layer3(), mpc7_decode_frame(), mpc8_decode_frame(), mpeg4_decode_video_packet_header(), mpeg4_is_resync(), mpeg_decode_slice(), msmpeg4_decode_ext_header(), mxpeg_decode_frame(), parse_bintree(), 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(), rtjpeg_decode_frame_yuv420(), rv10_decode_packet(), save_bits(), seq_unpack_rle_block(), shorten_decode_frame(), smacker_decode_bigtree(), smk_get_code(), svq3_decode_frame(), svq3_decode_init(), svq3_decode_slice_header(), switch_buffer(), tm2_read_stream(), unpack_SQVH(), vaapi_mpeg2_decode_slice(), vaapi_mpeg4_decode_slice(), vaapi_vc1_decode_slice(), vc1_decode_b_blocks(), 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 int get_bits_left ( GetBitContext gb  )  [inline, static]

Definition at line 501 of file get_bits.h.

Referenced by aac_decode_frame_int(), alac_decode_frame(), avpriv_mpeg4audio_get_config(), bastardized_rice_decompress(), bit_copy(), can_safely_read(), check_bits_for_superframe(), check_slice_end(), copy_bits(), dca_exss_parse_asset_header(), dca_exss_parse_header(), dca_subframe_header(), dca_subsubframe(), decode_422_bitstream(), decode_ac_coeffs(), decode_band_types(), decode_block(), decode_component(), decode_frame(), decode_gray_bitstream(), decode_i_block(), decode_lowdelay(), decode_lowdelay_slice(), decode_mb(), decode_pce(), decode_plane(), decode_rice(), decode_skip_count(), decode_slice(), decode_subframe(), decode_vui_parameters(), dv_decode_video_segment(), escape130_decode_frame(), ff_dirac_init_arith_decoder(), ff_h261_resync(), ff_h263_decode_frame(), ff_h263_decode_mb(), ff_h263_decode_picture_header(), ff_h263_resync(), ff_h264_decode_sei(), ff_ivi_decode_frame(), ff_msmpeg4_decode_block(), flashsv_decode_frame(), fraps2_decode_plane(), get_block(), h261_decode_mb(), h261_decode_picture_header(), h263_decode_gob_header(), lag_rac_init(), latm_decode_audio_specific_config(), mjpeg_decode_app(), mjpeg_decode_com(), mjpeg_decode_scan(), mp_decode_frame(), mp_decode_layer3(), mpeg_decode_slice(), parse_bintree(), parse_config_ALS(), parse_fmtp_config(), parse_packet_header(), qdm2_fft_decode_tones(), read_audio_mux_element(), read_len_table(), read_specific_config(), seq_unpack_rle_block(), shorten_decode_frame(), skip_data_stream_element(), smka_decode_frame(), tgv_decode_inter(), tm2_read_stream(), tta_decode_frame(), tta_get_unary(), unpack_block_qpis(), unpack_modes(), unpack_superblocks(), unpack_vectors(), unpack_vlcs(), vble_unpack(), vc1_decode_ac_coeff(), vp6_parse_coeff_huffman(), wavpack_decode_block(), wma_decode_superframe(), wmavoice_decode_packet(), wv_get_value(), wv_get_value_float(), and wv_get_value_integer().

static unsigned int get_bits_long ( GetBitContext s,
int  n 
) [inline, static]

static int get_sbits ( GetBitContext s,
int  n 
) [inline, static]

static int get_sbits_long ( GetBitContext s,
int  n 
) [inline, static]

Read 0-32 bits as a signed integer.

Definition at line 317 of file get_bits.h.

Referenced by alac_decode_frame(), decode_residuals(), decode_subframe(), decode_subframe_fixed(), decode_subframe_lpc(), and read_const_block_data().

static av_always_inline int get_vlc2 ( GetBitContext s,
VLC_TYPE(*)  table[2],
int  bits,
int  max_depth 
) [static]

Parse a vlc code.

Parameters:
bits is the number of bits which will be read at once, must be identical to nb_bits in init_vlc()
max_depth is 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 469 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_bgr_1(), decode_cce(), decode_coeff(), decode_coeffs(), decode_dc(), decode_envelope(), decode_exp_vlc(), 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_residual(), decode_scale_factors(), decode_scalefactors(), decouple_info(), ff_h263_decode_mb(), ff_h263_decode_motion(), ff_ivi_decode_blocks(), ff_msmpeg4_decode_motion(), ff_wma_run_level_decode(), ff_wmv2_decode_mb(), fraps2_decode_plane(), get_bitalloc(), get_mvdata_interlaced(), get_scale_idx(), h261_decode_block(), h261_decode_mb(), h263_decode_block(), huffman_decode(), idx_to_quant(), imc_read_level_coeffs(), ir2_get_code(), 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(), preview_obmc(), qdm2_get_vlc(), read_huff_channels(), read_sbr_envelope(), read_sbr_noise(), readQuantSpectralCoeffs(), rv34_decode_block(), rv34_decode_cbp(), rv40_decode_intra_types(), rv40_decode_mb_info(), rv_decode_dc(), 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(), 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_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(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), 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 get_xbits ( GetBitContext s,
int  n 
) [inline, static]

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

if MSB not set it is negative

Parameters:
n length in bits

Definition at line 208 of file get_bits.h.

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

static void init_get_bits ( GetBitContext s,
const uint8_t *  buffer,
int  bit_size 
) [inline, static]

Inititalize GetBitContext.

Parameters:
buffer bitstream 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_size the size of the buffer in bits

Definition at line 350 of file get_bits.h.

Referenced by aac_adtstoasc_filter(), aac_decode_frame(), aac_sync(), ac3_decode_frame(), ac3_eac3_probe(), ac3_sync(), adpcm_decode_frame(), adx_decode(), alac_decode_frame(), atrac1_decode_frame(), av_mpeg4_decode_header(), avpriv_flac_parse_streaminfo(), avpriv_mpeg4audio_get_config(), avs_decode_frame(), cavs_decode_frame(), check_bits_for_superframe(), dca_decode_frame(), dca_parse_frame_header(), decode_audio_specific_config(), decode_bytes_and_gain(), decode_chunks(), decode_ext_header(), decode_frame(), decode_header_trees(), decode_i_frame(), decode_lowdelay(), decode_mime_header(), decode_nal_units(), decode_p_frame(), decode_packet(), decode_plane(), decode_rle(), decode_slice_chroma(), decode_slice_luma(), decode_slice_plane(), decode_subband_internal(), decodeFrame(), dirac_decode_data_unit(), dirac_header(), dnxhd_decode_macroblocks(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), escape124_decode_frame(), escape130_decode_frame(), ff_adts_decode_extradata(), ff_ccitt_unpack(), ff_h263_decode_frame(), ff_h264_find_frame_end(), ff_ivi_decode_frame(), ff_mjpeg_decode_frame(), ff_mjpeg_decode_init(), ff_msgsm_decode_block(), ff_rdt_parse_header(), ff_rv34_decode_frame(), ff_vorbis_len2vlc(), fill_slice(), flac_decode_frame(), flac_header(), flashsv_decode_frame(), frame_header_is_valid(), fraps2_decode_plane(), g722_decode_frame(), gsm_decode_frame(), h261_decode_frame(), h261_probe(), hl_decode_mb_444_internal(), hl_decode_mb_internal(), imc_decode_frame(), ipvideo_decode_opcodes(), ir2_decode_frame(), lag_decode_arith_plane(), latm_decode_extradata(), latm_decode_frame(), latm_write_frame_header(), loco_decode_plane(), mimic_decode_frame(), mjpeg_decode_scan(), mjpegb_decode_frame(), mlp_parse(), mov_read_stsz(), mov_write_ac3_tag(), 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(), mpeg_decode_gop(), mpeg_decode_slice(), mxpeg_decode_frame(), nelly_decode_block(), parse_fmtp_config(), parse_nal_units(), pcx_decode_frame(), process_subpacket_10(), process_subpacket_11(), process_subpacket_12(), process_subpacket_9(), qcelp_decode_frame(), qdm2_decode_fft_packets(), qdm2_decode_super_block(), qt_rtp_parse_packet(), ra144_decode_frame(), ra288_decode_frame(), read_access_unit(), read_huffman_tables(), read_old_huffman_tables(), read_sl_header(), read_specific_config(), rtjpeg_decode_frame_yuv420(), 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(), smka_decode_frame(), spdif_get_offset_and_codec(), spdif_header_aac(), svq1_decode_frame(), svq3_decode_frame(), svq3_decode_init(), synth_superframe(), tgq_decode_mb(), tgv_decode_inter(), theora_header(), tm2_read_stream(), tqi_decode_frame(), truespeech_read_frame(), tta_decode_frame(), tta_decode_init(), twin_decode_frame(), unpack_bitstream(), vaapi_mpeg2_decode_slice(), vble_decode_frame(), vc1_decode_frame(), vc1_decode_init(), vc1_extract_headers(), vorbis_decode_frame(), vorbis_decode_init(), vp3_decode_frame(), vp6_parse_header(), wavpack_decode_block(), wma_decode_superframe(), wmavoice_decode_init(), wmavoice_decode_packet(), and xan_huffman_decode().

static unsigned int show_bits ( GetBitContext s,
int  n 
) [inline, static]

static unsigned int show_bits1 ( GetBitContext s  )  [inline, static]

Definition at line 286 of file get_bits.h.

static unsigned int show_bits_long ( GetBitContext s,
int  n 
) [inline, static]

static void skip_bits ( GetBitContext s,
int  n 
) [inline, static]

Definition at line 258 of file get_bits.h.

Referenced by ac3_parse_header(), alac_decode_frame(), align_get_bits(), at1_parse_bsm(), avpriv_aac_parse_header(), avpriv_ac3_parse_header(), avpriv_flac_parse_streaminfo(), avpriv_mpeg4audio_get_config(), check_bits_for_superframe(), dca_decode_frame(), dca_exss_parse_asset_header(), dca_exss_parse_header(), dca_subframe_header(), decode_audio_block(), decode_band_hdr(), decode_block(), decode_buffering_period(), decode_dynamic_range(), decode_frame(), decode_ga_specific_config(), decode_gop_header(), decode_mime_header(), decode_packet(), decode_pce(), decode_pic(), decode_pic_hdr(), decode_picture_timing(), decode_recovery_point(), decode_residual(), decode_scalar(), decode_seq_header(), decode_sequence_header_adv(), decode_unregistered_user_data(), decode_vol_header(), decode_vop_header(), ff_decode_sbr_extension(), ff_eac3_parse_header(), ff_flac_decode_frame_header(), ff_flv_decode_picture_header(), ff_h261_resync(), ff_h263_decode_picture_header(), ff_h263_resync(), ff_h264_decode_sei(), 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_rdt_parse_header(), fill_slice(), flashsv_decode_frame(), g722_decode_frame(), get_bits_align32(), get_scale(), h261_decode_block(), h261_decode_gob_header(), h261_decode_picture_header(), h263_decode_gob_header(), ljpeg_decode_rgb_scan(), ljpeg_decode_yuv_scan(), mjpeg_decode_app(), mjpeg_decode_scan(), mjpegb_decode_frame(), mov_write_ac3_tag(), mp_decode_frame(), mp_decode_layer3(), mpc8_decode_frame(), mpc8_decode_init(), mpeg1_decode_sequence(), mpeg4_decode_video_packet_header(), mpeg4_is_resync(), mpeg_decode_picture_display_extension(), mpeg_decode_sequence_display_extension(), mpeg_decode_sequence_extension(), mpeg_decode_slice(), msmpeg4_decode_ext_header(), msmpeg4_decode_picture_header(), mxpeg_decode_app(), mxpeg_decode_com(), parse_adts_frame_header(), parse_fmtp_config(), parse_packet_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(), rv_decode_dc(), save_bits(), shorten_decode_frame(), skip_bits1(), skip_hdr_extension(), svq1_decode_frame_header(), svq3_decode_frame(), svq3_decode_init(), svq3_decode_slice_header(), synth_superframe(), tgq_decode_block(), theora_header(), twin_decode_frame(), unpack_bitstream(), vaapi_mpeg2_decode_slice(), vble_unpack(), vc1_decode_entry_point(), vc1_decode_sequence_header(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), vorbis_parse_audio_packet(), vorbis_parse_setup_hdr_mappings(), vp3_decode_frame(), wma_decode_superframe(), and wmavoice_decode_packet().

static void skip_bits1 ( GetBitContext s  )  [inline, static]

static void skip_bits_long ( GetBitContext s,
int  n 
) [inline, static]


Generated on Fri Oct 26 02:46:08 2012 for FFmpeg by  doxygen 1.5.8