FFmpeg
[フレーム]
Data Structures | Macros | Enumerations | Functions
AVPacket
Core functions/structures.

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

Data Structures

struct   AVPacket
  This structure stores compressed data. More...
 

Macros

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

Enumerations

 
 

Functions

  Default packet destructor.
 
  Initialize optional fields of a packet with default values.
 
  Allocate the payload of a packet and initialize its fields with default values.
 
  Reduce packet size, correctly zeroing padding.
 
int  av_grow_packet (AVPacket *pkt, int grow_by)
  Increase packet size, correctly zeroing padding.
 
 
  Copy packet, including contents.
 
  Free a packet.
 
  Allocate new information of a packet.
 
  Shrink the already allocated side data buffer.
 
  Get side information from packet.
 
 
 

Detailed Description

Types and functions for working with AVPacket.

Macro Definition Documentation

#define AV_PKT_FLAG_KEY   0x0001

The packet contains a keyframe.

Examples:
doc/examples/muxing.c.

Definition at line 1084 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_audio2(), 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(), framecrc_write_packet(), get_attachment(), get_needed_flags(), gif_encode_frame(), gif_read_packet(), h263_handle_packet(), hls_read_packet(), hls_write_packet(), http_prepare_data(), idcin_read_packet(), iff_read_packet(), img_read_packet(), ism_write_packet(), libopenjpeg_encode_frame(), libschroedinger_encode_frame(), lmlm4_read_packet(), lvf_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(), mv_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(), 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(), 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(), xface_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().

#define AV_PKT_FLAG_CORRUPT   0x0002

The packet content is corrupted.

Definition at line 1085 of file avcodec.h.

Referenced by aiff_read_packet(), apc_read_packet(), av_get_packet(), ff_pcm_read_packet(), ff_read_packet(), handle_packet(), mp3_read_packet(), new_pes_packet(), read_packet(), sol_read_packet(), vorbis_packet(), and vp8_handle_packet().

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
s32le channel_count
u64le channel_layout
s32le sample_rate
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)
AV_PKT_DATA_STRINGS_METADATA

A list of zero terminated key/value strings.

There is no end marker for the list, so it is required to rely on the side data size to stop.

AV_PKT_DATA_SUBTITLE_POSITION

Subtitle event position.

u32le x1
u32le y1
u32le x2
u32le y2
AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL

Data found in BlockAdditional element of matroska container.

There is no end marker for the data, so it is required to rely on the side data size to recognize the end. 8 byte id (as found in BlockAddId) followed by data.

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

Function Documentation

void av_destruct_packet ( AVPacketpkt )

Default packet destructor.

Definition at line 39 of file avpacket.c.

Referenced by av_new_packet(), av_packet_merge_side_data(), avcodec_encode_video2(), copy_packet_data(), dshow_read_close(), ff_id3v2_parse_apic(), ff_rtp_finalize_packet(), ff_subtitles_queue_clean(), iec61883_parse_queue_dv(), mkv_write_trailer(), new_pes_packet(), parse_picture(), qt_rtp_parse_packet(), read_packet(), vfw_read_close(), and write_frame().

void av_init_packet ( AVPacketpkt )

Initialize optional fields of a packet with default values.

Note, this does not touch the data and size members, which have to be initialized separately.

Parameters
pkt packet
Examples:
doc/examples/decoding_encoding.c, doc/examples/demuxing.c, and doc/examples/muxing.c.

Definition at line 46 of file avpacket.c.

Referenced by audio_decode_example(), audio_encode_example(), av_new_packet(), avcodec_encode_audio2(), avcodec_encode_video2(), avformat_find_stream_info(), avi_write_packet(), avpriv_dv_produce_packet(), dc1394_read_common(), do_audio_out(), do_streamcopy(), do_subtitle_out(), do_video_out(), dv_extract_audio_info(), encode_frame(), ff_alloc_packet2(), ff_id3v2_parse_apic(), ff_interleave_packet_per_dts(), ff_mov_add_hinted_packet(), ff_read_packet(), ff_rtp_finalize_packet(), flush_encoders(), main(), mkv_write_header(), mov_write_subtitle_end_packet(), movie_push_frame(), mpegts_get_dts(), mpegts_write_packet_internal(), mxf_interleave_get_packet(), new_pes_packet(), output_packet(), parse_packet(), parse_picture(), qt_rtp_parse_packet(), read_frame_internal(), read_packets(), read_thread(), reset_packet(), sp5x_decode_frame(), v4l2_read_packet(), video_decode_example(), video_encode_example(), wc3_read_header(), worker(), write_audio_frame(), write_video_frame(), and x11grab_read_packet().

int av_new_packet ( AVPacketpkt,
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 60 of file avpacket.c.

Referenced by 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_spdif_read_packet(), ff_subtitles_queue_insert(), ffm_read_packet(), film_read_packet(), fourxm_read_packet(), g723_1_read_packet(), grab_read_packet(), h264_handle_packet(), iff_read_packet(), ilbc_read_packet(), img_read_packet(), latm_parse_packet(), lavfi_read_packet(), load_ipmovie_packet(), lxf_read_packet(), matroska_parse_frame(), matroska_parse_rm_audio(), mmap_read_frame(), modplug_read_packet(), mpc_read_packet(), mpeg_parse_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(), recode_subtitle(), 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(), 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().

void av_shrink_packet ( AVPacketpkt,
int  size 
)

Reduce packet size, correctly zeroing padding.

Parameters
pkt packet
size new size

Definition at line 79 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(), libopus_encode(), mxf_decrypt_triplet(), mxf_get_d10_aes3_packet(), nuv_packet(), and yop_read_packet().

int av_grow_packet ( AVPacketpkt,
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 87 of file avpacket.c.

Referenced by av_append_packet(), ff_subtitles_queue_insert(), and matroska_merge_packets().

int av_dup_packet ( AVPacketpkt )
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 155 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(), tee_write_packet(), and worker().

int av_copy_packet ( AVPacketdst,
AVPacketsrc 
)

Copy packet, including contents.

Returns
0 on success, negative AVERROR on fail

Definition at line 166 of file avpacket.c.

Referenced by aiff_write_packet(), tee_write_packet(), and write_packet().

void av_free_packet ( AVPacketpkt )

Free a packet.

Parameters
pkt packet to free
Examples:
doc/examples/decoding_encoding.c, doc/examples/demuxing.c, doc/examples/filtering_audio.c, and doc/examples/filtering_video.c.

Definition at line 172 of file avpacket.c.

Referenced by adx_read_packet(), aiff_write_trailer(), 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_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(), ff_spdif_read_packet(), ffm_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(), idcin_read_packet(), ilbc_read_packet(), img_read_packet(), interleave_packet(), load_ipmovie_packet(), lxf_read_packet(), main(), matroska_clear_queue(), matroska_merge_packets(), 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(), recode_subtitle(), 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(), str_read_close(), str_read_packet(), stream_component_close(), subtitle_thread(), thp_read_packet(), video_encode_example(), video_thread(), vivo_read_packet(), vmd_read_packet(), vqf_read_packet(), wc3_read_close(), write_frame(), write_trailer(), wv_read_packet(), wv_read_seek(), xiph_handle_packet(), xvid_encode_frame(), yop_read_close(), yop_read_packet(), and yop_read_seek().

uint8_t* av_packet_new_side_data ( AVPacketpkt,
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 189 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(), lavfi_read_packet(), load_ipmovie_packet(), matroska_parse_frame(), mov_read_packet(), read_frame(), srt_read_header(), and swf_read_packet().

int av_packet_shrink_side_data ( AVPacketpkt,
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 307 of file avpacket.c.

Referenced by ff_MPV_encode_picture().

uint8_t* av_packet_get_side_data ( AVPacketpkt,
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 214 of file avpacket.c.

Referenced by aac_decode_frame(), aac_decode_frame_int(), add_metadata_from_side_data(), 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(), smc_decode_frame(), srt_decode_frame(), and srt_write_packet().

int av_packet_merge_side_data ( AVPacketpkt )

Definition at line 231 of file avpacket.c.

Referenced by ff_read_packet(), and split_write_packet().

int av_packet_split_side_data ( AVPacketpkt )

Definition at line 265 of file avpacket.c.

Referenced by avcodec_decode_audio4(), avcodec_decode_subtitle2(), avcodec_decode_video2(), and split_write_packet().


Generated on Sat May 25 2013 04:01:36 for FFmpeg by   doxygen 1.8.2

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