AVPacket
[Core functions/structures.]

Types and functions for working with AVPacket. More...


Data Structures

struct  AVPacket

Defines

#define AV_PKT_FLAG_KEY   0x0001
 The packet contains a keyframe.
#define AV_PKT_FLAG_CORRUPT   0x0002
 The packet content is corrupted.

Enumerations

enum  AVPacketSideDataType { AV_PKT_DATA_PALETTE, AV_PKT_DATA_NEW_EXTRADATA, AV_PKT_DATA_PARAM_CHANGE, AV_PKT_DATA_H263_MB_INFO }
enum  AVSideDataParamChangeFlags { AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001, AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002, AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004, AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008 }

Functions

attribute_deprecated void av_destruct_packet_nofree (AVPacket *pkt)
void av_destruct_packet (AVPacket *pkt)
 Default packet destructor.
void av_init_packet (AVPacket *pkt)
 Initialize optional fields of a packet with default values.
int av_new_packet (AVPacket *pkt, int size)
 Allocate the payload of a packet and initialize its fields with default values.
void av_shrink_packet (AVPacket *pkt, int size)
 Reduce packet size, correctly zeroing padding.
int av_grow_packet (AVPacket *pkt, int grow_by)
 Increase packet size, correctly zeroing padding.
int av_dup_packet (AVPacket *pkt)
void av_free_packet (AVPacket *pkt)
 Free a packet.
uint8_tav_packet_new_side_data (AVPacket *pkt, enum AVPacketSideDataType type, int size)
 Allocate new information of a packet.
int av_packet_shrink_side_data (AVPacket *pkt, enum AVPacketSideDataType type, int size)
 Shrink the already allocated side data buffer.
uint8_tav_packet_get_side_data (AVPacket *pkt, enum AVPacketSideDataType type, int *size)
 Get side information from packet.
int av_packet_merge_side_data (AVPacket *pkt)
int av_packet_split_side_data (AVPacket *pkt)


Detailed Description

Types and functions for working with AVPacket.

Define Documentation

#define AV_PKT_FLAG_CORRUPT   0x0002

#define AV_PKT_FLAG_KEY   0x0001

The packet contains a keyframe.

Definition at line 908 of file avcodec.h.

Referenced by a64multi_encode_frame(), asf_read_pts(), asf_write_packet(), avcodec_encode_audio(), avcodec_encode_audio2(), avcodec_encode_video(), avi_write_packet(), avpriv_dv_produce_packet(), avs_read_audio_packet(), avs_read_video_packet(), avui_encode_frame(), bmp_encode_frame(), cdxl_read_packet(), compute_pkt_fields(), dc1394_read_common(), decode_frame(), dirac_gptopts(), dnxhd_encode_picture(), do_streamcopy(), do_video_out(), dv_extract_audio_info(), ea_read_packet(), encode_frame(), encode_picture_lossless(), encode_picture_ls(), ff_asf_parse_packet(), ff_id3v2_parse_apic(), ff_mov_add_hinted_packet(), ff_mov_write_packet(), ff_MPV_encode_picture(), ff_rm_parse_packet(), ff_rm_retrieve_cache(), ffm_read_packet(), ffm_write_packet(), flashsv2_encode_frame(), flashsv_decode_frame(), flashsv_encode_frame(), flv_read_packet(), flv_write_packet(), get_needed_flags(), gif_encode_frame(), h263_handle_packet(), hls_read_packet(), http_prepare_data(), iff_read_packet(), jacosub_read_packet(), libopenjpeg_encode_frame(), libschroedinger_encode_frame(), lmlm4_read_packet(), lxf_read_packet(), main(), matroska_parse_block(), microdvd_read_packet(), mkv_write_packet(), mkv_write_packet_internal(), modplug_read_packet(), mov_create_chapter_track(), mov_parse_vc1_frame(), mov_read_packet(), mov_write_packet(), mpeg_mux_write_packet(), mpegts_write_flush(), mpegts_write_packet_internal(), msnwc_tcp_read_packet(), nsv_read_chunk(), nut_read_packet(), nut_write_packet(), nuv_packet(), ogg_read_packet(), ogg_read_timestamp(), ogg_validate_keyframe(), ogg_write_packet(), ogm_packet(), old_dirac_gptopts(), pam_encode_frame(), parse_packet(), pcx_encode_frame(), pkt_dump_internal(), pnm_encode_frame(), prepare_packet(), prores_encode_frame(), put_payload_header(), qt_rtp_parse_packet(), qtrle_encode_frame(), raw_encode(), read_frame(), read_frame_internal(), read_packet(), rm_write_audio(), rm_write_video(), roq_encode_frame(), rpl_read_packet(), search_hi_lo_keyframes(), seek_frame_generic(), seg_write_packet(), show_packet(), siff_read_packet(), srt_read_packet(), Stagefright_decode_frame(), storeframe(), sunrast_encode_frame(), svq1_encode_frame(), targa_encode_frame(), theora_gptopts(), tmv_read_packet(), utvideo_encode_frame(), v308_encode_frame(), v408_encode_frame(), v410_encode_frame(), vc1t_read_packet(), vc1test_write_packet(), vid_read_packet(), write_frame(), write_timestamp(), write_video_frame(), X264_frame(), XAVS_frame(), xbm_encode_frame(), xmv_fetch_video_packet(), xvid_encode_frame(), xwd_encode_frame(), y41p_encode_frame(), yop_read_packet(), yuv4_encode_frame(), and zerocodec_decode_frame().


Enumeration Type Documentation

Enumerator:
AV_PKT_DATA_PALETTE 
AV_PKT_DATA_NEW_EXTRADATA 
AV_PKT_DATA_PARAM_CHANGE  An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:.

 u32le param_flags
 if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT)
     s32le channel_count
 if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT)
     u64le channel_layout
 if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)
     s32le sample_rate
 if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)
     s32le width
     s32le height
AV_PKT_DATA_H263_MB_INFO  An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of structures with info about macroblocks relevant to splitting the packet into smaller packets on macroblock edges (e.g.

as for RFC 2190). That is, it does not necessarily contain info about all macroblocks, as long as the distance between macroblocks in the info is smaller than the target payload size. Each MB info structure is 12 bytes, and is laid out as follows:

 u32le bit offset from the start of the packet
 u8    current quantizer at the start of the macroblock
 u8    GOB number
 u16le macroblock address within the GOB
 u8    horizontal MV predictor
 u8    vertical MV predictor
 u8    horizontal MV predictor for block number 3
 u8    vertical MV predictor for block number 3

Definition at line 802 of file avcodec.h.

Enumerator:
AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT 
AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT 
AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE 
AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS 

Definition at line 911 of file avcodec.h.


Function Documentation

void av_destruct_packet ( AVPacket pkt  ) 

attribute_deprecated void av_destruct_packet_nofree ( AVPacket pkt  ) 

Deprecated:
use NULL instead

Definition at line 27 of file avpacket.c.

Referenced by av_dup_packet().

int av_dup_packet ( AVPacket pkt  ) 

Warning:
This is a hack - the packet memory allocation stuff is broken. The packet is allocated if it was not really allocated.

Definition at line 133 of file avpacket.c.

Referenced by av_read_frame(), avcodec_encode_audio2(), avcodec_encode_video2(), avformat_find_stream_info(), ff_interleave_add_packet(), packet_queue_put(), and parse_packet().

void av_free_packet ( AVPacket pkt  ) 

Free a packet.

Parameters:
pkt packet to free

Definition at line 165 of file avpacket.c.

Referenced by adx_read_packet(), amr_read_packet(), asf_read_header(), asf_read_pts(), asf_reset_header(), asfrtp_parse_packet(), audio_decode_frame(), audio_read_packet(), av_get_packet(), av_interleaved_write_frame(), av_packet_merge_side_data(), av_write_trailer(), avcodec_encode_audio2(), avcodec_encode_video2(), avformat_free_context(), avi_read_close(), avs_read_video_packet(), cdxl_read_packet(), cin_read_packet(), dfa_read_packet(), do_audio_out(), do_streamcopy(), do_video_out(), dxa_read_packet(), ea_read_packet(), estimate_timings_from_pts(), extract_mpeg4_header(), ff_asf_parse_packet(), ff_raw_read_partial_packet(), ff_read_packet(), ff_rm_free_rmstream(), ffm_read_packet(), flic_read_packet(), fourxm_read_packet(), free_packet_buffer(), free_packet_list(), free_pkt_fifo(), free_variant_list(), g723_1_read_packet(), gsm_read_packet(), hls_read_seek(), http_prepare_data(), interleave_packet(), load_ipmovie_packet(), lxf_read_packet(), main(), matroska_clear_queue(), modplug_read_packet(), mp3_queue_flush(), mpc_read_packet(), mpc_read_seek(), mpegts_get_dts(), mpegts_raw_read_packet(), mxf_interleave_get_packet(), nc_read_packet(), nsv_read_close(), nuv_packet(), packet_queue_flush(), packet_queue_put(), parse_packet(), pulse_read_packet(), qt_rtp_parse_packet(), read_frame_internal(), read_packet(), read_packets(), read_thread(), rl2_read_packet(), rm_assemble_video_frame(), rm_read_packet(), rpl_read_packet(), sap_fetch_packet(), search_hi_lo_keyframes(), seek_frame_generic(), seek_subtitle(), spdif_read_packet(), str_read_close(), str_read_packet(), stream_component_close(), subtitle_thread(), thp_read_packet(), transcode(), video_thread(), vmd_read_packet(), vqf_read_packet(), wc3_read_close(), write_frame(), wv_read_packet(), wv_read_seek(), xiph_handle_packet(), xvid_encode_frame(), yop_read_close(), yop_read_packet(), and yop_read_seek().

int av_grow_packet ( AVPacket pkt,
int  grow_by 
)

Increase packet size, correctly zeroing padding.

Parameters:
pkt packet
grow_by number of bytes by which to increase the size of the packet

Definition at line 94 of file avpacket.c.

Referenced by av_append_packet(), and matroska_merge_packets().

void av_init_packet ( AVPacket pkt  ) 

int av_new_packet ( AVPacket pkt,
int  size 
)

Allocate the payload of a packet and initialize its fields with default values.

Parameters:
pkt packet
size wanted payload size
Returns:
0 if OK, AVERROR_xxx otherwise

Definition at line 67 of file avpacket.c.

Referenced by a64_write_packet(), aac_parse_packet(), amr_handle_packet(), amr_read_packet(), ape_read_packet(), audio_read_packet(), av_get_packet(), av_grow_packet(), avisynth_read_packet(), avs_read_video_packet(), bmv_read_packet(), callback(), cdxl_read_packet(), cin_read_packet(), decode_frame(), dxa_read_packet(), fbdev_read_packet(), ff_alloc_packet2(), ff_asf_parse_packet(), ff_h263_handle_packet(), ff_interleave_new_audio_packet(), ff_raw_read_partial_packet(), ff_rm_retrieve_cache(), ffm_read_packet(), film_read_packet(), flic_read_packet(), fourxm_read_packet(), g723_1_read_packet(), grab_read_packet(), h264_handle_packet(), iff_read_packet(), jacosub_read_packet(), latm_parse_packet(), lavfi_read_packet(), load_ipmovie_packet(), lxf_read_packet(), matroska_parse_block(), microdvd_read_packet(), modplug_read_packet(), mpc_read_packet(), mpegts_raw_read_packet(), nut_read_packet(), nuv_packet(), ogg_read_packet(), pulse_read_packet(), qdm2_restore_block(), qt_rtp_parse_packet(), read_frame(), read_packet(), return_stored_frame(), rm_assemble_video_frame(), rm_read_audio_stream_info(), roq_read_packet(), rtp_parse_packet_internal(), sbg_read_packet(), seq_read_packet(), siff_read_packet(), smacker_read_packet(), spdif_read_packet(), srt_read_packet(), store_packet(), str_read_packet(), supply_new_packets(), swf_read_packet(), videostream_cb(), vmd_read_packet(), vqf_read_packet(), wsaud_read_packet(), wv_read_packet(), xiph_handle_packet(), and yop_read_packet().

uint8_t* av_packet_get_side_data ( AVPacket pkt,
enum AVPacketSideDataType  type,
int *  size 
)

Get side information from packet.

Parameters:
pkt packet
type desired side information type
size pointer for side information size to store (optional)
Returns:
pointer to data if present or NULL otherwise

Definition at line 202 of file avpacket.c.

Referenced by aac_decode_frame(), apply_param_change(), cinepak_decode_frame(), decode_frame(), decode_tag(), idcin_decode_frame(), ipvideo_decode_frame(), msrle_decode_frame(), msvideo1_decode_frame(), qtrle_decode_frame(), raw_decode(), rtp_write_packet(), and smc_decode_frame().

int av_packet_merge_side_data ( AVPacket pkt  ) 

Definition at line 219 of file avpacket.c.

Referenced by ff_read_packet().

uint8_t* av_packet_new_side_data ( AVPacket pkt,
enum AVPacketSideDataType  type,
int  size 
)

Allocate new information of a packet.

Parameters:
pkt packet
type side information type
size side information size
Returns:
pointer to fresh allocated data or NULL otherwise

Definition at line 177 of file avpacket.c.

Referenced by ff_add_param_change(), ff_asf_parse_packet(), ff_MPV_encode_picture(), flv_read_packet(), idcin_read_packet(), load_ipmovie_packet(), mov_read_packet(), and read_frame().

int av_packet_shrink_side_data ( AVPacket pkt,
enum AVPacketSideDataType  type,
int  size 
)

Shrink the already allocated side data buffer.

Parameters:
pkt packet
type side information type
size new side information size
Returns:
0 on success, < 0 on failure

Definition at line 295 of file avpacket.c.

Referenced by ff_MPV_encode_picture().

int av_packet_split_side_data ( AVPacket pkt  ) 

Definition at line 253 of file avpacket.c.

Referenced by avcodec_decode_audio4(), and avcodec_decode_video2().

void av_shrink_packet ( AVPacket pkt,
int  size 
)

Reduce packet size, correctly zeroing padding.

Parameters:
pkt packet
size new size

Definition at line 86 of file avpacket.c.

Referenced by av_append_packet(), av_get_packet(), cdxl_read_packet(), cin_read_packet(), ff_asf_parse_packet(), ff_raw_read_partial_packet(), mxf_decrypt_triplet(), mxf_get_d10_aes3_packet(), nuv_packet(), and yop_read_packet().


Generated on Fri Oct 26 02:48:04 2012 for FFmpeg by  doxygen 1.5.8