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,
  AV_PKT_DATA_SKIP_SAMPLES = 70, AV_PKT_DATA_JP_DUALMONO
}
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

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)
int av_copy_packet (AVPacket *dst, AVPacket *src)
 Copy packet, including contents.
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 1006 of file avcodec.h.

Referenced by a64multi_encode_frame(), ape_tag_read_field(), asf_read_picture(), asf_read_pts(), asf_write_packet(), av_read_frame(), 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(), ff_subtitles_queue_insert(), ffm_read_packet(), ffm_write_packet(), flashsv2_encode_frame(), flashsv_decode_frame(), flashsv_encode_frame(), flv_data_packet(), flv_read_packet(), flv_write_packet(), get_needed_flags(), gif_encode_frame(), h263_handle_packet(), hls_read_packet(), http_prepare_data(), iff_read_packet(), ism_write_packet(), libopenjpeg_encode_frame(), libschroedinger_encode_frame(), lmlm4_read_packet(), lxf_read_packet(), main(), matroska_parse_block(), mkv_write_packet(), mkv_write_packet_internal(), modplug_read_packet(), mov_create_chapter_track(), mov_create_timecode_track(), mov_parse_vc1_frame(), mov_read_covr(), mov_read_packet(), mov_write_single_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(), parse_picture(), 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(), smush_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
AV_PKT_DATA_SKIP_SAMPLES  Recommmends skipping the specified number of samples.

 u32le number of samples to skip from start of this packet
 u32le number of samples to skip from end of this packet
 u8    reason for start skip
 u8    reason for end   skip (0=padding silence, 1=convergence)
AV_PKT_DATA_JP_DUALMONO  An AV_PKT_DATA_JP_DUALMONO side data packet indicates that the packet may contain "dual mono" audio specific to Japanese DTV and if it is true, recommends only the selected channel to be used.

 u8    selected channels (0=mail/left, 1=sub/right, 2=both)

Definition at line 879 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 1009 of file avcodec.h.


Function Documentation

int av_copy_packet ( AVPacket dst,
AVPacket src 
)

Copy packet, including contents.

Returns:
0 on success, negative AVERROR on fail

Definition at line 168 of file avpacket.c.

void av_destruct_packet ( AVPacket pkt  ) 

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 157 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(), parse_packet(), and worker().

void av_free_packet ( AVPacket pkt  ) 

Free a packet.

Parameters:
pkt packet to free

Definition at line 174 of file avpacket.c.

Referenced by adx_read_packet(), amr_read_packet(), asf_read_header(), asf_read_picture(), asf_read_pts(), asf_reset_header(), asfrtp_parse_packet(), audio_decode_frame(), audio_encode_example(), audio_read_packet(), av_get_packet(), av_interleaved_write_frame(), av_packet_merge_side_data(), av_write_trailer(), avcodec_encode_audio2(), avcodec_encode_video2(), 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(), encode_frame(), estimate_timings_from_pts(), extract_mpeg4_header(), ff_asf_parse_packet(), ff_free_stream(), 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(), ilbc_read_packet(), interleave_packet(), load_ipmovie_packet(), lxf_read_packet(), main(), matroska_clear_queue(), modplug_read_packet(), mov_write_subtitle_end_packet(), movie_push_frame(), mp3_queue_flush(), mpc_read_packet(), mpc_read_seek(), mpegts_get_dts(), mpegts_raw_read_packet(), mpegts_read_packet(), mxf_interleave_get_packet(), nc_read_packet(), nsv_read_close(), nuv_packet(), packet_queue_flush(), packet_queue_put(), parse_packet(), process_input(), 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(), video_encode_example(), 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 89 of file avpacket.c.

Referenced by av_append_packet(), ff_subtitles_queue_insert(), 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 62 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(), ff_subtitles_queue_insert(), 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(), ilbc_read_packet(), latm_parse_packet(), lavfi_read_packet(), load_ipmovie_packet(), lxf_read_packet(), matroska_parse_frame(), matroska_parse_rm_audio(), 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 211 of file avpacket.c.

Referenced by aac_decode_frame(), aac_decode_frame_int(), apply_param_change(), avcodec_decode_audio4(), 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 228 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 186 of file avpacket.c.

Referenced by av_read_frame(), 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 304 of file avpacket.c.

Referenced by ff_MPV_encode_picture().

int av_packet_split_side_data ( AVPacket pkt  ) 

Definition at line 262 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 81 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:50:13 2012 for FFmpeg by  doxygen 1.5.8