FFmpeg
Data Structures | Functions
put_bits.h File Reference

bitstream writer API 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 "libavutil/avassert.h"
#include "mathops.h"
#include "config.h"

Go to the source code of this file.

Data Structures

struct   PutBitContext
 

Functions

static void  init_put_bits (PutBitContext *s, uint8_t *buffer, int buffer_size)
  Initialize the PutBitContext s.
 
static int  put_bits_count (PutBitContext *s)
 
static int  put_bits_left (PutBitContext *s)
 
  Pad the end of the output stream with zeros.
 
  Pad the bitstream with zeros up to the next byte boundary.
 
void  avpriv_put_string (PutBitContext *pb, const char *string, int terminate_string)
  Put the string string in the bitstream.
 
  Copy the content of src to the bitstream.
 
static void  put_bits (PutBitContext *s, int n, unsigned int value)
  Write up to 31 bits into a bitstream.
 
static void  put_sbits (PutBitContext *pb, int n, int32_t value)
 
static void av_unused  put_bits32 (PutBitContext *s, uint32_t value)
  Write exactly 32 bits into a bitstream.
 
  Return the pointer to the byte where the bitstream writer will put the next bit.
 
static void  skip_put_bytes (PutBitContext *s, int n)
  Skip the given number of bytes.
 
static void  skip_put_bits (PutBitContext *s, int n)
  Skip the given number of bits.
 
  Change the end of the buffer.
 

Detailed Description

bitstream writer API

Definition in file put_bits.h.

Function Documentation

static void init_put_bits ( PutBitContexts,
uint8_tbuffer,
int  buffer_size 
)
inlinestatic

Initialize the PutBitContext s.

Parameters
buffer the buffer where to put bits
buffer_size the size in bytes of buffer

Definition at line 54 of file put_bits.h.

Referenced by aac_adtstoasc_filter(), aac_encode_frame(), adts_decode_extradata(), adts_write_frame_header(), adx_encode(), decode_init(), decode_packet(), dnxhd_encode_thread(), dv_decode_video_segment(), dv_encode_video_segment(), encode_bitstream(), encode_block(), encode_ext_header(), encode_frame(), encode_init(), encode_picture_lossless(), encode_picture_ls(), encode_slice(), encode_slice_plane(), encode_thread(), ff_ac3_output_frame(), ff_dca_convert_bitstream(), ff_init_cabac_encoder(), ff_lzw_encode_init(), ff_mjpeg_find_marker(), ff_mpeg4_init_partitions(), ff_MPV_encode_picture(), flush(), latm_write_packet(), main(), mov_write_ac3_tag(), mov_write_dvc1_structs(), MPA_encode_frame(), pnm_decode_frame(), put_audio_specific_config(), put_line(), put_main_header(), put_pack_header(), put_swf_matrix(), put_swf_rect(), put_system_header(), ra144_encode_frame(), read_packet(), s302m_encode2_frame(), save_bits(), send_mode_a(), send_mode_b(), svq1_encode_frame(), svq1_encode_plane(), swf_write_header(), tta_encode_frame(), vorbis_encode_frame(), wmavoice_decode_packet(), write_frame(), write_header(), write_huff_codes(), write_streaminfo(), and xsub_encode().

static int put_bits_count ( PutBitContexts )
inlinestatic
Returns
the total number of bits written to the bitstream.

Definition at line 73 of file put_bits.h.

Referenced by aac_encode_frame(), avpriv_copy_bits(), avpriv_copy_pce_data(), copy_bits(), dnxhd_encode_thread(), dv_decode_video_segment(), dv_encode_video_segment(), encode_422_bitstream(), encode_alpha_plane(), encode_bgra_bitstream(), encode_block(), encode_frame(), encode_gray_bitstream(), encode_init(), encode_line(), encode_mb(), encode_mb_hq(), encode_picture(), encode_picture_lossless(), encode_picture_ls(), encode_slice_plane(), encode_superframe(), encode_thread(), escape_FF(), ff_dca_convert_bitstream(), ff_mjpeg_encode_picture_header(), ff_mjpeg_encode_stuffing(), ff_mpeg1_encode_picture_header(), ff_mpeg4_merge_partitions(), ff_mpeg4_stuffing(), ff_MPV_encode_picture(), floor_encode(), get_bits_diff(), latm_write_packet(), merge_context_after_encode(), MPA_encode_frame(), output_frame_end(), put_bitstream_info(), put_codeword(), put_main_header(), save_bits(), skip_put_bytes(), svq1_encode_frame(), svq1_encode_plane(), tta_encode_frame(), update_mb_info(), vorbis_encode_frame(), write_frame(), write_frame_footer(), write_frame_header(), write_huff_codes(), write_mb_info(), writtenBytes(), xsub_encode(), and xsub_encode_rle().

static int put_bits_left ( PutBitContexts )
inlinestatic
Returns
the number of bits available in the bitstream.

Definition at line 81 of file put_bits.h.

Referenced by dv_encode_ac(), and save_bits().

static void flush_put_bits ( PutBitContexts )
inlinestatic

Pad the end of the output stream with zeros.

Definition at line 89 of file put_bits.h.

Referenced by aac_adtstoasc_filter(), aac_encode_frame(), adts_decode_extradata(), adts_write_frame_header(), adx_encode(), avpriv_copy_bits(), dnxhd_encode_thread(), dv_decode_video_segment(), dv_encode_video_segment(), encode_alpha_plane(), encode_bitstream(), encode_block(), encode_ext_header(), encode_frame(), encode_init(), encode_picture_lossless(), encode_picture_ls(), encode_slice_plane(), encode_superframe(), encode_thread(), escape_FF(), ff_dca_convert_bitstream(), ff_mjpeg_encode_stuffing(), ff_mjpeg_find_marker(), ff_mpeg4_merge_partitions(), ff_MPV_encode_picture(), gif_image_write_image(), jpeg_put_comments(), jpeg_table_header(), latm_write_packet(), main(), merge_context_after_encode(), mov_write_ac3_tag(), mov_write_dvc1_structs(), output_frame_end(), pnm_decode_frame(), put_audio_specific_config(), put_line(), put_main_header(), put_pack_header(), put_swf_matrix(), put_swf_rect(), put_system_header(), ra144_encode_frame(), read_packet(), s302m_encode2_frame(), save_bits(), send_mode_a(), send_mode_b(), svq1_encode_frame(), svq1_encode_plane(), swf_write_header(), tta_encode_frame(), vorbis_encode_frame(), wmavoice_decode_packet(), write_frame(), write_frame_footer(), write_frame_header(), write_header(), write_huff_codes(), write_slice_end(), write_streaminfo(), and xsub_encode().

void avpriv_align_put_bits ( PutBitContexts )

Pad the bitstream with zeros up to the next byte boundary.

Definition at line 46 of file bitstream.c.

Referenced by avpriv_copy_pce_data(), encode_block(), encode_frame(), encode_picture_ls(), ff_flv_encode_picture_header(), ff_h261_encode_picture_header(), ff_h263_encode_picture_header(), ff_msmpeg4_encode_picture_header(), ff_rv10_encode_picture_header(), latm_write_packet(), put_bitstream_info(), put_header(), write_slice_end(), xsub_encode(), and xsub_encode_rle().

void avpriv_put_string ( PutBitContextpb,
const char *  string,
int  terminate_string 
)

Put the string string in the bitstream.

Parameters
terminate_string 0-terminates the written string if value is 1

Definition at line 51 of file bitstream.c.

Referenced by jpeg_put_comments(), and mpeg4_encode_vol_header().

void avpriv_copy_bits ( PutBitContextpb,
const uint8_tsrc,
int  length 
)

Copy the content of src to the bitstream.

Parameters
length the number of bits of src to copy

Definition at line 62 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().

static void put_bits ( PutBitContexts,
int  n,
unsigned int  value 
)
inlinestatic

Write up to 31 bits into a bitstream.

Use put_bits32 to write 32 bits.

Definition at line 140 of file put_bits.h.

Referenced by put_bits32(), and put_sbits().

static void put_sbits ( PutBitContextpb,
int  n,
int32_t  value 
)
inlinestatic

Definition at line 180 of file put_bits.h.

Referenced by adx_encode(), asv1_put_level(), dv_encode_video_segment(), encode_acs(), encode_block(), encode_vlc_codeword(), ff_flv2_encode_ac_esc(), ff_h261_encode_picture_header(), ff_h263_encode_picture_header(), ff_mjpeg_encode_dc(), ff_msmpeg4_encode_block(), ff_rv20_encode_picture_header(), h261_encode_block(), h263_encode_block(), mpeg1_encode_block(), mpeg1_encode_mb_internal(), mpeg1_encode_sequence_header(), output_audio_block(), put_header(), put_line(), set_ur_golomb_jpegls(), write_element(), and write_subframes().

static void av_unused put_bits32 ( PutBitContexts,
uint32_t  value 
)
static

Write exactly 32 bits into a bitstream.

Definition at line 190 of file put_bits.h.

Referenced by dv_decode_video_segment(), mov_write_dvc1_structs(), put_float(), put_main_header(), put_pack_header(), put_system_header(), tta_encode_frame(), and write_element_header().

static uint8_t* put_bits_ptr ( PutBitContexts )
inlinestatic

Return the pointer to the byte where the bitstream writer will put the next bit.

Definition at line 207 of file put_bits.h.

Referenced by avpriv_copy_bits(), encode_block(), encode_picture_lossless(), encode_slice_plane(), encode_superframe(), encode_thread(), ff_h261_encode_picture_header(), ff_h263_encode_picture_header(), ff_mpeg4_init_partitions(), jpeg_put_comments(), jpeg_table_header(), output_frame_end(), put_pack_header(), put_swf_matrix(), put_swf_rect(), put_system_header(), and swf_write_header().

static void skip_put_bytes ( PutBitContexts,
int  n 
)
inlinestatic

Skip the given number of bytes.

PutBitContext must be flushed & aligned to a byte boundary before calling this.

Definition at line 216 of file put_bits.h.

Referenced by avpriv_copy_bits(), and escape_FF().

static void skip_put_bits ( PutBitContexts,
int  n 
)
inlinestatic

Skip the given number of bits.

Must only be used if the actual values in the bitstream do not matter. If n is 0 the behavior is undefined.

Definition at line 228 of file put_bits.h.

Referenced by ff_h263_encode_motion_vector(), and mpeg4_encode_blocks().

static void set_put_bits_buffer_size ( PutBitContexts,
int  size 
)
inlinestatic

Change the end of the buffer.

Parameters
size the new size in bytes of the buffer where to put bits

Definition at line 240 of file put_bits.h.

Referenced by ff_mpeg4_init_partitions(), and ff_mpeg4_merge_partitions().


Generated on Wed Jul 10 2013 23:48:23 for FFmpeg by   doxygen 1.8.2

AltStyle によって変換されたページ (->オリジナル) /