bitstream reader API header. More...
#include <stdint.h>
#include <stdlib.h>
#include <assert.h>
#include "libavutil/bswap.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 | VLC_TYPE int16_t |
#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,...) {} |
Typedefs | |
typedef struct GetBitContext | GetBitContext |
typedef struct VLC | VLC |
typedef struct RL_VLC_ELEM | RL_VLC_ELEM |
Functions | |
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) |
reads 1-17 bits. | |
static unsigned int | show_bits (GetBitContext *s, int n) |
shows 1-17 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) |
reads 0-32 bits. | |
static int | get_sbits_long (GetBitContext *s, int n) |
reads 0-32 bits as a signed integer. | |
static unsigned int | show_bits_long (GetBitContext *s, int n) |
shows 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) |
init GetBitContext. | |
static void | align_get_bits (GetBitContext *s) |
int | 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 | free_vlc (VLC *vlc) |
static av_always_inline int | get_vlc2 (GetBitContext *s, VLC_TYPE(*table)[2], int bits, int max_depth) |
parses a vlc code, faster then get_vlc() | |
static int | decode012 (GetBitContext *gb) |
static int | decode210 (GetBitContext *gb) |
static int | get_bits_left (GetBitContext *gb) |
bitstream reader API header.
Definition in file get_bits.h.
{\ 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)\ }
Definition at line 569 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().
{\ 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)\ }
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 537 of file get_bits.h.
Referenced by decode_block(), decode_block_progressive(), decode_block_refinement(), decode_spectrum_and_dequant(), and get_vlc2().
#define init_vlc | ( | vlc, | |||
nb_bits, | |||||
nb_codes, | |||||
bits, | |||||
bits_wrap, | |||||
bits_size, | |||||
codes, | |||||
codes_wrap, | |||||
codes_size, | |||||
flags | ) |
init_vlc_sparse(vlc, nb_bits, nb_codes,\ bits, bits_wrap, bits_size,\ codes, codes_wrap, codes_size,\ NULL, 0, 0, flags)
Definition at line 507 of file get_bits.h.
Referenced by atrac3_decode_init(), build_vlc(), dca_init_vlcs(), decode_init(), dnxhd_init_vlc(), dvvideo_init(), ff_h264_decode_init_vlc(), ff_ivi_create_huff_from_desc(), generate_joint_tables(), imc_decode_init(), init_coef_vlc(), init_cook_vlc_tables(), init_vlcs(), ir2_decode_init(), mimic_decode_init(), mp_decode_frame(), mpc7_decode_init(), mpc8_decode_init(), qdm2_init_vlc(), read_huffman_tables(), read_old_huffman_tables(), rv40_init_tables(), smacker_decode_header_tree(), smka_decode_frame(), svq1_decode_init(), tm2_build_huff_table(), vc1_init_common(), vorbis_parse_setup_hdr_codebooks(), vp3_decode_init(), and wma_decode_init().
#define INIT_VLC_LE 2 |
Definition at line 518 of file get_bits.h.
Referenced by build_table(), decode_init(), ff_ivi_create_huff_from_desc(), ir2_decode_init(), qdm2_init_vlc(), smacker_decode_header_tree(), smka_decode_frame(), and vorbis_parse_setup_hdr_codebooks().
{\ 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);\ }
Definition at line 522 of file get_bits.h.
Referenced by aac_decode_init(), decode_init(), decode_vbmtree(), ff_ccitt_unpack_init(), ff_mpeg12_init_vlcs(), ff_msmpeg4_decode_init(), h261_decode_init_vlc(), h263_decode_init_vlc(), init_static(), init_vlcs(), rv10_decode_init(), svq1_decode_init(), and vc1_init_common().
#define INIT_VLC_USE_NEW_STATIC 4 |
Definition at line 519 of file get_bits.h.
Referenced by atrac3_decode_init(), build_table(), dca_init_vlcs(), decode_init(), ff_ccitt_unpack_init(), ff_h264_decode_init_vlc(), ff_ivi_create_huff_from_desc(), imc_decode_init(), init_vlc_sparse(), init_vlcs(), ir2_decode_init(), mpc7_decode_init(), mpc8_decode_init(), qdm2_init_vlc(), rv34_gen_vlc(), rv40_init_tables(), svq1_decode_init(), and vc1_init_common().
#define tprintf | ( | p, | |||
... | ) | {} |
Definition at line 667 of file get_bits.h.
Referenced by decode_residual(), decode_slice(), fetch_diagonal_mv(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_rbsp_trailing(), ff_h264_fill_default_ref_list(), ff_h264_filter_mb(), ff_wma_init(), filter_mb_dir(), filter_mb_mbaff_edgecv(), filter_mb_mbaff_edgev(), pred_16x8_motion(), pred_8x16_motion(), pred_intra_mode(), pred_motion(), pred_non_zero_count(), pred_pskip_motion(), wma_decode_block(), wma_decode_frame(), and wma_decode_superframe().
#define VLC_TYPE int16_t |
Definition at line 71 of file get_bits.h.
Referenced by alloc_table(), atrac3_decode_init(), build_table(), dca_init_vlcs(), decode_init(), decode_spectrum_and_dequant(), ff_ccitt_unpack_init(), ff_ivi_init_static_vlc(), init_vlcs(), ir2_decode_init(), mpc7_decode_init(), mpc8_decode_init(), qdm2_init_vlc(), read_sbr_envelope(), read_sbr_noise(), rv40_init_tables(), svq1_decode_init(), unpack_vlcs(), vc1_init_common(), and x8_vlc_init().
typedef struct GetBitContext GetBitContext |
typedef struct RL_VLC_ELEM RL_VLC_ELEM |
static void align_get_bits | ( | GetBitContext * | s | ) | [inline, static] |
Definition at line 498 of file get_bits.h.
Referenced by avs_decode_frame(), decode_band(), decode_band_hdr(), decode_frame(), decode_gop_header(), decode_mb_info(), decode_pce(), decode_pic_hdr(), decode_rle(), decode_slice(), ff_ccitt_unpack(), ff_copy_pce_data(), ff_h261_resync(), ff_h263_resync(), ff_h264_decode_mb_cavlc(), ff_h264_decode_sei(), ff_ivi_dec_tile_data_size(), ff_ivi_decode_blocks(), ff_jpegls_decode_picture(), ff_mpeg4_decode_picture_header(), h263_decode_picture_header(), ljpeg_decode_rgb_scan(), ljpeg_decode_yuv_scan(), mjpeg_decode_scan(), mp_decode_frame(), mpeg4_is_resync(), read_channel_data(), read_frame_data(), read_specific_config(), read_var_block_data(), skip_data_stream_element(), and wma_decode_block().
static int check_marker | ( | GetBitContext * | s, | |
const char * | msg | |||
) | [inline, static] |
Definition at line 455 of file get_bits.h.
Referenced by decode_vol_header(), decode_vop_header(), and mpeg4_decode_video_packet_header().
static int decode012 | ( | GetBitContext * | gb | ) | [inline, static] |
Definition at line 670 of file get_bits.h.
Referenced by ff_wmv2_decode_mb(), ff_wmv2_decode_secondary_picture_header(), msmpeg4_decode_picture_header(), msmpeg4v34_decode_mb(), vc1_decode_b_mb(), vc1_decode_p_block(), vc1_parse_frame_header(), vc1_parse_frame_header_adv(), and wmv2_decode_inter_block().
static int decode210 | ( | GetBitContext * | gb | ) | [inline, static] |
Definition at line 679 of file get_bits.h.
Referenced by decode_mb(), and vc1_decode_ac_coeff().
void free_vlc | ( | VLC * | vlc | ) |
Definition at line 332 of file bitstream.c.
Referenced by cook_decode_close(), decode_close(), decode_end(), dnxhd_decode_close(), dvvideo_init(), ff_ivi_dec_huff_desc(), ff_ivi_free_buffers(), ff_mjpeg_decode_dht(), ff_mjpeg_decode_end(), ff_wma_end(), fraps2_decode_plane(), generate_joint_tables(), mimic_decode_end(), mp_decode_frame(), read_huffman_tables(), read_old_huffman_tables(), smacker_decode_header_tree(), smka_decode_frame(), tm2_free_codes(), vorbis_free(), vp3_decode_end(), vp6_build_huff_tree(), and vp6_decode_free().
static unsigned int get_bits | ( | GetBitContext * | s, | |
int | n | |||
) | [inline, static] |
reads 1-17 bits.
Note, the alt bitstream reader can read up to 25 bits, but the libmpeg2 reader can't
Definition at line 362 of file get_bits.h.
Referenced by aac_adtstoasc_filter(), aac_decode_frame(), ac3_decode_transform_coeffs_ch(), ac3_parse_header(), adpcm_decode_frame(), alac_decode_frame(), asv1_decode_block(), asv2_get_bits(), at1_parse_bsm(), at1_unpack_dequant(), aw_parse_coords(), aw_pulse_set1(), aw_pulse_set2(), bink_decode_plane(), bit_copy(), check_bits_for_superframe(), check_for_slice(), copy_bits(), dca_parse_frame_header(), dca_subframe_footer(), dca_subframe_header(), dca_subsubframe(), dec_gain(), decode(), decode_audio_block(), decode_band_hdr(), decode_band_types(), decode_block(), decode_buffering_period(), decode_cce(), decode_channel_map(), 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_frame_header(), decode_gain_info(), decode_gop_header(), decode_hrd_parameters(), decode_ics(), decode_ics_info(), decode_line(), decode_macroblock(), decode_mb(), decode_mb_b(), decode_mb_i(), decode_mb_info(), decode_motion(), decode_packet(), decode_parameters(), decode_pce(), decode_pic(), decode_pic_hdr(), decode_picture_timing(), 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_dct_block(), dnxhd_decode_macroblock(), do_output_subblock(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), escape124_decode_frame(), ff_aac_parse_header(), ff_ac3_parse_header(), ff_ac3_parse_header_full(), ff_adts_decode_extradata(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eac3_parse_header(), ff_flac_parse_streaminfo(), ff_flv2_decode_ac_esc(), ff_flv_decode_picture_header(), ff_h263_decode_mba(), 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_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_mpeg4audio_get_config(), ff_msmpeg4_decode_motion(), ff_ps_read_data(), ff_rdt_parse_header(), ff_wma_run_level_decode(), ff_wmv2_decode_picture_header(), flac_header(), flashsv_decode_frame(), g726_decode_frame(), gb_get_v(), get_array(), get_bits1(), get_bits_long(), get_bitsz(), get_block(), get_dimension(), get_float(), get_object_type(), get_qscale(), get_sample_rate(), get_scale(), get_scale_idx(), get_tail(), get_ue_code(), get_utf8(), h261_decode_block(), h261_decode_gob_header(), h261_decode_mb(), h261_decode_picture_header(), h263_decode_block(), h263_decode_dquant(), h263_decode_gob_header(), h263_decode_motion(), h263_decode_picture_header(), h263_get_modb(), idx_to_quant(), imc_decode_frame(), imc_get_coeffs(), imc_read_level_coeffs(), ipvideo_decode_opcodes(), load_matrix(), mjpeg_decode_app(), mjpeg_decode_com(), mjpeg_decode_dri(), 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_video_packet_header(), 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_config_ALS(), 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(), ra144_decode_frame(), ra288_decode_frame(), read_access_unit(), read_and_decode_spectrum(), read_block_data(), read_block_types(), read_channel_data(), read_channel_params(), read_dcs(), read_dct_coeffs(), read_decoding_params(), read_filter_params(), read_huff_channels(), read_huffman_tree(), read_len_table(), read_matrix_params(), read_motion_values(), 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_specific_config(), read_tree(), read_var_block_data(), readQuantSpectralCoeffs(), rv10_decode_picture_header(), rv20_decode_picture_header(), rv30_parse_slice_header(), rv34_decode_dquant(), rv34_decode_mb_header(), rv40_parse_slice_header(), rv_decode_dc(), save_bits(), seq_decode_op1(), seqvideo_decode(), shorten_decode_frame(), 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(), tgq_decode_block(), tgv_decode_inter(), theora_header(), tm2_build_huff_table(), tm2_read_deltas(), tm2_read_header(), 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(), vc1_decode_ac_coeff(), vc1_decode_entry_point(), 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 393 of file get_bits.h.
Referenced by ac3_parse_header(), alac_decode_frame(), avs_decode_frame(), aw_pulse_set2(), bink_decode_plane(), bitplane_decoding(), check_bits_for_superframe(), check_marker(), decode(), decode012(), decode210(), decode_audio_block(), decode_band(), decode_band_hdr(), decode_band_structure(), decode_block(), decode_cce(), decode_channel_map(), 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_frame_header(), decode_ga_specific_config(), decode_gain_info(), decode_gop_header(), decode_header_trees(), decode_hrd_parameters(), decode_ics(), decode_ics_info(), decode_line(), decode_macroblock(), decode_mb_i(), decode_mb_info(), decode_mb_p(), decode_mid_side_stereo(), decode_motion(), decode_mv_component(), decode_pce(), decode_pic(), 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(), decodeplane32(), decodeplane8(), decodeSpectrum(), decodeTonalComponents(), decouple_info(), dequant(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), escape124_decode_frame(), ff_aac_parse_header(), ff_ac3_parse_header(), ff_ac3_parse_header_full(), ff_bgmc_decode(), ff_ccitt_unpack(), ff_decode_sbr_extension(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eac3_parse_header(), ff_flv2_decode_ac_esc(), ff_flv_decode_picture_header(), ff_h263_decode_mb(), 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_mpeg4audio_get_config(), ff_ps_read_data(), 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(), find_group3_syncmarker(), 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(), h263_decode_block(), h263_decode_dquant(), h263_decode_gob_header(), h263_decode_motion(), h263_decode_picture_header(), h263_get_modb(), h263p_decode_umotion(), huffman_decode(), idx_to_quant(), imc_decode_frame(), imc_get_skip_coeff(), init_tone_level_dequantization(), 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(), 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_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_dquant(), rv34_decode_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(), tta_get_unary(), unpack_bitstream(), unpack_block_qpis(), unpack_SQVH(), unpack_superblocks(), unpack_vectors(), vaapi_mpeg2_decode_slice(), vc1_decode_ac_coeff(), vc1_decode_b_mb(), vc1_decode_entry_point(), 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_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_left | ( | GetBitContext * | gb | ) | [inline, static] |
Definition at line 686 of file get_bits.h.
Referenced by aac_decode_frame(), bit_copy(), check_bits_for_superframe(), copy_bits(), decode_422_bitstream(), decode_band_types(), decode_gray_bitstream(), decode_pce(), decode_rice(), decode_slice(), dv_decode_video_segment(), ff_h261_resync(), ff_h263_resync(), ff_mpeg4audio_get_config(), ff_msmpeg4_decode_block(), flashsv_decode_frame(), h261_decode_picture_header(), h263_decode_gob_header(), h263_decode_picture_header(), mp_decode_frame(), mpeg_decode_slice(), parse_config_ALS(), parse_packet_header(), read_specific_config(), skip_data_stream_element(), tgv_decode_inter(), tta_decode_frame(), unpack_block_qpis(), unpack_modes(), unpack_superblocks(), unpack_vectors(), unpack_vlcs(), wavpack_decode_frame(), wmavoice_decode_packet(), and wv_get_value_float().
static unsigned int get_bits_long | ( | GetBitContext * | s, | |
int | n | |||
) | [inline, static] |
reads 0-32 bits.
Definition at line 424 of file get_bits.h.
Referenced by alac_decode_frame(), decode_band_hdr(), decode_frame(), decode_gop_header(), decode_pic_hdr(), decode_rice(), decode_vui_parameters(), escape124_decode_frame(), ff_bgmc_decode_init(), ff_flac_parse_streaminfo(), ff_flv_decode_picture_header(), ff_intel_h263_decode_picture_header(), ff_ivi_dec_tile_data_size(), ff_mlp_read_major_sync(), ff_mpeg4_decode_partitions(), ff_rdt_parse_header(), ff_wma_get_large_val(), flac_header(), get_block_sizes(), get_float(), get_le16(), get_le32(), get_sbits_long(), ls_decode_line(), mjpegb_decode_frame(), mov_read_stsz(), mp_read_changes_map(), mpc8_dec_base(), parse_config_ALS(), read_channel_data(), read_offs(), read_specific_config(), read_var_block_data(), rtp_parse_mp4_au(), shorten_decode_frame(), show_bits_long(), theora_header(), tm2_build_huff_table(), tm2_read_deltas(), tm2_read_header(), tm2_read_tree(), tta_decode_init(), vorbis_parse_id_hdr(), vorbis_parse_setup_hdr_codebooks(), and wavpack_decode_frame().
static int get_sbits | ( | GetBitContext * | s, | |
int | n | |||
) | [inline, static] |
Definition at line 348 of file get_bits.h.
Referenced by adpcm_decode_frame(), asv1_get_level(), at1_unpack_dequant(), dca_subframe_header(), dca_subsubframe(), decode_block_intra(), decode_subframe(), decode_subframe_lpc(), dnxhd_decode_dct_block(), dv_decode_video_segment(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_flv2_decode_ac_esc(), get_block(), h261_decode_block(), h263_decode_block(), h263_decode_picture_header(), mdec_decode_block_intra(), mpeg_decode_picture_display_extension(), read_channel_params(), read_decoding_params(), read_filter_params(), read_matrix_params(), readQuantSpectralCoeffs(), seq_unpack_rle_block(), tgq_decode_block(), and tgv_decode_inter().
static int get_sbits_long | ( | GetBitContext * | s, | |
int | n | |||
) | [inline, static] |
reads 0-32 bits as a signed integer.
Definition at line 440 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] |
parses a vlc code, faster then get_vlc()
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 603 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_residual(), decode_scale_factors(), decode_scalefactors(), decouple_info(), dnxhd_decode_dc(), dnxhd_decode_dct_block(), ff_h263_decode_mb(), ff_ivi_decode_blocks(), ff_msmpeg4_decode_motion(), ff_wma_run_level_decode(), ff_wmv2_decode_mb(), fraps2_decode_plane(), get_bitalloc(), get_scale_idx(), h261_decode_block(), h261_decode_mb(), h263_decode_block(), h263_decode_motion(), 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_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_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
n | length in bits |
Definition at line 336 of file get_bits.h.
Referenced by decode_dc(), decode_i_block(), dnxhd_decode_dc(), 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] |
init GetBitContext.
buffer | bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE bytes larger then 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 |
While GetBitContext stores the buffer size, for performance reasons you are responsible for checking for the buffer end yourself (take advantage of the padding)!
Definition at line 473 of file get_bits.h.
Referenced by aac_adtstoasc_filter(), aac_decode_frame(), aac_sync(), ac3_decode_frame(), ac3_sync(), adpcm_decode_frame(), alac_decode_frame(), atrac1_decode_frame(), av_mpeg4_decode_header(), 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_nal_units(), decode_p_frame(), decode_packet(), decode_rle(), decode_wave_header(), decodeFrame(), decodeplane32(), decodeplane8(), dirac_header(), dnxhd_decode_macroblocks(), dv_decode_video_segment(), dvbsub_read_2bit_string(), dvbsub_read_4bit_string(), encode_picture_ls(), escape124_decode_frame(), ff_adts_decode_extradata(), ff_ccitt_unpack(), ff_flac_parse_streaminfo(), ff_h263_decode_frame(), ff_mjpeg_decode_frame(), ff_mjpeg_decode_init(), ff_mpeg4audio_get_config(), ff_rdt_parse_header(), ff_rv34_decode_frame(), ff_vorbis_len2vlc(), flac_decode_frame(), flac_header(), flashsv_decode_frame(), fraps2_decode_plane(), g726_decode_frame(), h261_decode_frame(), imc_decode_frame(), ipvideo_decode_opcodes(), ir2_decode_frame(), loco_decode_plane(), mimic_decode_frame(), 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(), nelly_decode_block(), 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(), ra144_decode_frame(), ra288_decode_frame(), read_access_unit(), read_huffman_tables(), read_old_huffman_tables(), 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(), sp5x_decode_frame(), spdif_header_aac(), svq1_decode_frame(), svq3_decode_frame(), svq3_decode_init(), synth_superframe(), tgq_decode_mb(), tgv_decode_inter(), theora_header(), tm2_read_header(), tm2_read_stream(), tqi_decode_frame(), tta_decode_frame(), tta_decode_init(), twin_decode_frame(), unpack_bitstream(), vaapi_mpeg2_decode_slice(), vc1_decode_frame(), vc1_decode_init(), vc1_extract_headers(), vorbis_decode_frame(), vorbis_decode_init(), vp3_decode_frame(), vp6_parse_header(), wavpack_decode_frame(), wma_decode_superframe(), wmavoice_decode_init(), wmavoice_decode_packet(), and xan_huffman_decode().
int 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 | |||
) |
Definition at line 272 of file bitstream.c.
Referenced by build_huff_tree(), ff_ccitt_unpack_init(), generate_joint_tables(), mpc8_decode_init(), rv34_gen_vlc(), and rv40_init_tables().
static unsigned int show_bits | ( | GetBitContext * | s, | |
int | n | |||
) | [inline, static] |
shows 1-17 bits.
Note, the alt bitstream reader can read up to 25 bits, but the libmpeg2 reader can't
Definition at line 376 of file get_bits.h.
Referenced by aac_adtstoasc_filter(), aac_decode_frame(), check_for_slice(), check_slice_end(), decode_packet(), decode_pic(), decode_residual(), decode_scalar(), decode_slice(), decode_user_data(), decode_vop_header(), ff_h261_resync(), ff_h263_decode_mb(), ff_h263_resync(), ff_h264_decode_sei(), ff_mpeg4_decode_partitions(), ff_mpeg4_decode_picture_header(), ff_mpeg4audio_get_config(), h261_decode_block(), h261_decode_gob_header(), h263_decode_gob_header(), mjpegb_decode_frame(), mpeg1_decode_sequence(), mpeg4_decode_partition_a(), mpeg4_is_resync(), mpeg_decode_slice(), rv10_decode_picture_header(), show_bits1(), show_bits_long(), svq3_decode_frame(), svq3_decode_slice_header(), tgq_decode_block(), and vc1_decode_sequence_header().
static unsigned int show_bits1 | ( | GetBitContext * | s | ) | [inline, static] |
Definition at line 413 of file get_bits.h.
static unsigned int show_bits_long | ( | GetBitContext * | s, | |
int | n | |||
) | [inline, static] |
shows 0-32 bits.
Definition at line 447 of file get_bits.h.
Referenced by check_for_slice(), ff_ac3_parse_header(), ff_mpeg4audio_get_config(), ls_get_code_regular(), ls_get_code_runterm(), mpeg4_decode_partition_a(), read_access_unit(), tta_decode_init(), and vc1_decode_entry_point().
static void skip_bits | ( | GetBitContext * | s, | |
int | n | |||
) | [inline, static] |
Definition at line 385 of file get_bits.h.
Referenced by ac3_parse_header(), alac_decode_frame(), align_get_bits(), at1_parse_bsm(), check_bits_for_superframe(), decode_audio_block(), decode_block(), decode_buffering_period(), decode_dynamic_range(), decode_frame(), decode_frame_header(), decode_ga_specific_config(), decode_gop_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(), decode_wave_header(), ff_aac_parse_header(), ff_ac3_parse_header(), ff_ac3_parse_header_full(), ff_decode_sbr_extension(), ff_eac3_parse_header(), ff_flac_parse_streaminfo(), ff_flv_decode_picture_header(), ff_h261_resync(), 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_mpeg4audio_get_config(), ff_ps_read_data(), ff_rdt_parse_header(), get_bits_align32(), h261_decode_block(), h261_decode_gob_header(), h261_decode_picture_header(), h263_decode_gob_header(), h263_decode_picture_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(), mpc7_decode_frame(), 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_picture_header(), parse_adts_frame_header(), parse_packet_header(), preview_obmc(), qdm2_decode_super_block(), read_access_unit(), read_block_data(), read_const_block_data(), read_restart_header(), read_sbr_channel_pair_element(), read_sbr_data(), read_sbr_header(), read_sbr_single_channel_element(), read_specific_config(), 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(), tta_decode_frame(), tta_decode_init(), twin_decode_frame(), unpack_bitstream(), vaapi_mpeg2_decode_slice(), 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] |
Definition at line 417 of file get_bits.h.
Referenced by decode_dynamic_range(), decode_ga_specific_config(), decode_pic(), decode_seq_header(), decode_sequence_header_adv(), decode_vol_header(), decode_vop_header(), dnxhd_decode_macroblock(), ff_aac_parse_header(), ff_eac3_parse_header(), ff_flv_decode_picture_header(), ff_h263_decode_mb(), ff_h263_resync(), ff_intel_h263_decode_picture_header(), flac_header(), h261_decode_picture_header(), h263_decode_picture_header(), mpeg4_decode_gop_header(), mpeg4_decode_partition_a(), mpeg4_decode_sprite_trajectory(), mpeg_decode_gop(), mpeg_decode_mb(), mpeg_decode_sequence_extension(), mpeg_decode_slice(), preview_obmc(), ps_read_extension_data(), read_access_unit(), read_specific_config(), rv30_parse_slice_header(), rv40_parse_slice_header(), smacker_decode_header_tree(), smka_decode_frame(), svq1_decode_frame_header(), svq3_decode_init(), and svq3_decode_slice_header().