FFmpeg
|
#include "libavutil/avassert.h"
#include "libavutil/qsort.h"
#include "avcodec.h"
#include "internal.h"
#include "mathops.h"
#include "put_bits.h"
#include "vlc.h"
Go to the source code of this file.
Data Structures | |
struct | VLCcode |
Macros | |
#define | GET_DATA(v, table, i, wrap, size) |
#define | COPY(condition) |
Functions | |
void | avpriv_align_put_bits (PutBitContext *s) |
Pad the bitstream with zeros up to the next byte boundary. More... | |
void | avpriv_put_string (PutBitContext *pb, const char *string, int terminate_string) |
Put the string string in the bitstream. More... | |
void | avpriv_copy_bits (PutBitContext *pb, const uint8_t *src, int length) |
Copy the content of src to the bitstream. More... | |
static int | alloc_table (VLC *vlc, int size, int use_static) |
static int | compare_vlcspec (const void *a, const void *b) |
static int | build_table (VLC *vlc, int table_nb_bits, int nb_codes, VLCcode *codes, int flags) |
Build VLC decoding tables suitable for use with get_vlc(). More... | |
int | ff_init_vlc_sparse (VLC *vlc_arg, 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) |
Variables | |
const uint8_t | ff_log2_run [41] |
bitstream api.
Definition in file bitstream.c.
Definition at line 91 of file bitstream.c.
#define COPY | ( | condition | ) |
void avpriv_align_put_bits | ( | PutBitContext * | s | ) |
Pad the bitstream with zeros up to the next byte boundary.
Definition at line 48 of file bitstream.c.
Referenced by binary_export(), encode_block(), encode_frame(), encode_hq_slice(), encode_parse_info(), encode_picture_header(), encode_picture_ls(), encode_picture_start(), encode_seq_header(), encode_slices(), encode_wavelet_transform(), ff_copy_pce_data(), ff_flv_encode_picture_header(), ff_h261_encode_picture_header(), ff_h263_encode_picture_header(), ff_hevc_encode_nal_vps(), ff_msmpeg4_encode_picture_header(), ff_rv10_encode_picture_header(), latm_write_packet(), put_bitstream_info(), put_header(), put_pce(), write_slice_end(), xsub_encode(), and xsub_encode_rle().
void avpriv_put_string | ( | PutBitContext * | pb, |
const char * | string, | ||
int | terminate_string | ||
) |
Put the string string in the bitstream.
terminate_string | 0-terminates the written string if value is 1 |
Definition at line 53 of file bitstream.c.
Referenced by encode_frame(), encode_parse_info(), jpeg_put_comments(), mpeg4_encode_vol_header(), and put_pce().
void avpriv_copy_bits | ( | PutBitContext * | pb, |
const uint8_t * | src, | ||
int | length | ||
) |
Copy the content of src to the bitstream.
length | the number of bits of src to copy |
Definition at line 64 of file bitstream.c.
Referenced by copy_bits(), encode_thread(), ff_mpeg4_merge_partitions(), latm_write_frame_header(), latm_write_packet(), merge_context_after_encode(), save_bits(), and svq1_encode_plane().
Definition at line 110 of file bitstream.c.
Referenced by build_table(), and mp_decode_layer2().
|
static |
Definition at line 138 of file bitstream.c.
Referenced by ff_init_vlc_sparse().
|
static |
Build VLC decoding tables suitable for use with get_vlc().
vlc | the context to be initialized |
table_nb_bits | max length of vlc codes to store directly in this table (Longer codes are delegated to subtables.) |
nb_codes | number of elements in codes[] |
codes | descriptions of the vlc codes These must be ordered such that codes going into the same subtable are contiguous. Sorting by VLCcode.code is sufficient, though not necessary. |
Definition at line 157 of file bitstream.c.
Referenced by ff_init_vlc_sparse().
int ff_init_vlc_sparse | ( | VLC * | vlc_arg, |
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 273 of file bitstream.c.
Referenced by atrac9_decode_init(), build_canonical_huff(), build_huff(), build_huff10(), build_huff_tree(), build_vlc(), clv_decode_init(), ff_atrac3p_init_vlcs(), ff_ccitt_unpack_init(), generate_joint_tables(), huff_build(), huff_build10(), huff_build12(), init_ralf_vlc(), init_vlcs(), mpc8_decode_init(), mss4_init_vlc(), on2avc_decode_init(), read_code_table(), rv34_gen_vlc(), and rv40_init_tables().
void ff_free_vlc | ( | VLC * | vlc | ) |
Definition at line 359 of file bitstream.c.
Referenced by atrac9_decode_close(), build_huff(), build_vlc(), cfhd_close(), clv_decode_end(), cook_decode_close(), decode_argb_frame(), decode_close(), decode_end(), decode_plane(), decode_plane10(), decode_rgb24_frame(), decode_rle(), decode_yuv_frame(), dnxhd_decode_close(), dnxhd_init_vlc(), ff_dvvideo_init(), ff_ivi_dec_huff_desc(), ff_ivi_decode_close(), ff_mjpeg_decode_dht(), ff_mjpeg_decode_end(), ff_wma_end(), fraps2_decode_plane(), free_vlcs(), generate_joint_tables(), hq_hqa_decode_close(), hqx_decode_close(), huff_build(), huff_build10(), huff_build12(), image_ctx_free(), ivi_free_buffers(), jpg_free_context(), magy_decode_end(), mimic_decode_end(), mp_decode_frame(), mss4_free_vlcs(), on2avc_free_vlcs(), read_huffman_code_normal(), 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_context().
const uint8_t ff_log2_run[41] |
Definition at line 39 of file bitstream.c.
Referenced by decode_line_TMPL(), encode_line_TMPL(), ls_decode_line(), ls_encode_line(), and ls_encode_run().