AVFrame Struct Reference

Audio Video Frame. More...

#include <avcodec.h>


Data Fields

uint8_t * data [AV_NUM_DATA_POINTERS]
 pointer to the picture/channel planes.
int linesize [AV_NUM_DATA_POINTERS]
 Size, in bytes, of the data for each picture/channel plane.
uint8_t * base [AV_NUM_DATA_POINTERS]
 pointer to the first allocated byte of the picture.
int key_frame
 1 -> keyframe, 0-> not
  • encoding: Set by libavcodec.

enum AVPictureType pict_type
 Picture type of the frame, see ?_TYPE below.
int64_t pts
 presentation timestamp in time_base units (time when frame should be shown to user) If AV_NOPTS_VALUE then frame_rate = 1/time_base will be assumed.
int coded_picture_number
 picture number in bitstream order
  • encoding: set by
  • decoding: Set by libavcodec.

int display_picture_number
 picture number in display order
  • encoding: set by
  • decoding: Set by libavcodec.

int quality
 quality (between 1 (good) and FF_LAMBDA_MAX (bad))
  • encoding: Set by libavcodec.

int age
 buffer age (1->was last buffer and dint change, 2->.
int reference
 is this picture used as reference The values for this are the same as the MpegEncContext.picture_structure variable, that is 1->top field, 2->bottom field, 3->frame/both fields.
int8_t * qscale_table
 QP table
  • encoding: unused
  • decoding: Set by libavcodec.

int qstride
 QP store stride
  • encoding: unused
  • decoding: Set by libavcodec.

uint8_t * mbskip_table
 mbskip_table[mb]>=1 if MB didn't change stride= mb_width = (width+15)>>4
  • encoding: unused
  • decoding: Set by libavcodec.

int16_t(*[2] motion_val )[2]
 motion vector table
uint32_t * mb_type
 macroblock type table mb_type_base + mb_width + 2
  • encoding: Set by user.

uint8_t motion_subsample_log2
 log2 of the size of the block which a single vector in motion_val represents: (4->16x16, 3->8x8, 2-> 4x4, 1-> 2x2)
  • encoding: unused
  • decoding: Set by libavcodec.

void * opaque
 for some private data of the user
  • encoding: unused
  • decoding: Set by user.

uint64_t error [AV_NUM_DATA_POINTERS]
 error
  • encoding: Set by libavcodec.

int type
 type of the buffer (to keep track of who has to deallocate data[*])
  • encoding: Set by the one who allocates it.

int repeat_pict
 When decoding, this signals how much the picture must be delayed.
int qscale_type
int interlaced_frame
 The content of the picture is interlaced.
int top_field_first
 If the content is interlaced, is top field displayed first.
AVPanScanpan_scan
 Pan scan.
int palette_has_changed
 Tell user application that palette has changed from previous frame.
int buffer_hints
 codec suggestion on buffer type if != 0
  • encoding: unused
  • decoding: Set by libavcodec.

short * dct_coeff
 DCT coefficients
  • encoding: unused
  • decoding: Set by libavcodec.

int8_t * ref_index [2]
 motion reference frame index the order in which these are stored can depend on the codec.
int64_t reordered_opaque
 reordered opaque 64bit (generally an integer or a double precision float PTS but can be anything).
void * hwaccel_picture_private
 hardware accelerator private data (FFmpeg-allocated)
  • encoding: unused
  • decoding: Set by libavcodec

int64_t pkt_pts
 reordered pts from the last AVPacket that has been input into the decoder
  • encoding: unused
  • decoding: Read by user.

int64_t pkt_dts
 dts from the last AVPacket that has been input into the decoder
  • encoding: unused
  • decoding: Read by user.

struct AVCodecContextowner
 the AVCodecContext which ff_thread_get_buffer() was last called on
  • encoding: Set by libavcodec.

void * thread_opaque
 used by multithreading to store frame-specific info
  • encoding: Set by libavcodec.

int nb_samples
 number of audio samples (per channel) described by this frame
  • encoding: unused
  • decoding: Set by libavcodec

uint8_t ** extended_data
 pointers to the data planes/channels.
int64_t best_effort_timestamp
 frame timestamp estimated using various heuristics, in stream time base Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "best_effort_timestamp");
  • encoding: unused
  • decoding: set by libavcodec, read by user.

int64_t pkt_pos
 reordered pos from the last AVPacket that has been input into the decoder Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "pkt_pos");
  • encoding: unused
  • decoding: Read by user.

AVRational sample_aspect_ratio
 reordered sample aspect ratio for the video frame, 0/1 if unknown Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "sample_aspect_ratio");
  • encoding: unused
  • decoding: Read by user.

int width
 width and height of the video frame Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "width");
  • encoding: unused
  • decoding: Read by user.

int height
int format
 format of the frame, -1 if unknown or unset It should be cast to the corresponding enum (enum PixelFormat for video, enum AVSampleFormat for audio) Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "format");
  • encoding: unused
  • decoding: Read by user.


Detailed Description

Audio Video Frame.

New fields can be added to the end of AVFRAME with minor version bumps. Similarly fields that are marked as to be only accessed by av_opt_ptr() can be reordered. This allows 2 forks to add fields without breaking compatibility with each other. Removal, reordering and changes in the remaining cases require a major version bump. sizeof(AVFrame) must not be used outside libavcodec.

Definition at line 985 of file avcodec.h.


Field Documentation

buffer age (1->was last buffer and dint change, 2->.

.., ...). Set to INT_MAX if the buffer has not been used yet.

  • encoding: unused
  • decoding: MUST be set by get_buffer() for video.

Definition at line 1065 of file avcodec.h.

Referenced by alloc_frame_buffer(), ff_alloc_picture(), ff_thread_get_buffer(), MPV_decode_mb_internal(), and video_get_buffer().

uint8_t* AVFrame::base[AV_NUM_DATA_POINTERS]

pointer to the first allocated byte of the picture.

Can be used in get_buffer/release_buffer. This isn't used by libavcodec unless the default get/release_buffer() is used.

  • encoding:
  • decoding:

Definition at line 1016 of file avcodec.h.

Referenced by avcodec_default_reget_buffer(), decode_slice_header(), free_picture(), and video_get_buffer().

frame timestamp estimated using various heuristics, in stream time base Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "best_effort_timestamp");

  • encoding: unused
  • decoding: set by libavcodec, read by user.

Definition at line 1295 of file avcodec.h.

Referenced by avcodec_decode_video2(), avcodec_get_frame_defaults(), and transcode_video().

picture number in bitstream order

  • encoding: set by
  • decoding: Set by libavcodec.

Definition at line 1044 of file avcodec.h.

Referenced by copy_picture_attributes(), ff_write_pass1_stats(), mpeg1_encode_sequence_header(), MPV_frame_start(), and select_input_picture().

uint8_t* AVFrame::data[AV_NUM_DATA_POINTERS]

pointer to the picture/channel planes.

This might be different from the first allocated byte

Definition at line 997 of file avcodec.h.

Referenced by aac_decode_frame_int(), aasc_decode_end(), aasc_decode_frame(), ac3_decode_frame(), add_frame_default(), adpcm_decode_frame(), adx_decode_frame(), alac_decode_frame(), alloc_frame_buffer(), amrnb_decode_frame(), amrwb_decode_frame(), amv_encode_picture(), ape_decode_frame(), apply_loop_filter(), apply_motion_generic(), atrac1_decode_frame(), atrac3_decode_frame(), audio_decode_example(), audio_decode_frame(), audio_get_buffer(), aura_decode_end(), aura_decode_frame(), avcodec_default_reget_buffer(), avcodec_default_release_buffer(), avfilter_fill_frame_from_video_buffer_ref(), avfilter_get_video_buffer_ref_from_frame(), avs_decode_frame(), bethsoftvid_decode_end(), bethsoftvid_decode_frame(), bfi_decode_close(), bfi_decode_frame(), bink_decode_plane(), binkb_decode_plane(), bmp_decode_end(), bmp_decode_frame(), bmp_encode_frame(), bmv_aud_decode_frame(), cavs_decode_frame(), cdg_border_preset(), cdg_decode_end(), cdg_decode_frame(), cdg_load_palette(), cdg_scroll(), cdg_tile_block(), cinaudio_decode_frame(), cinepak_decode_end(), cinepak_decode_frame(), cinepak_decode_init(), cinepak_decode_vectors(), cinvideo_decode_end(), cinvideo_decode_frame(), cinvideo_decode_init(), close_video(), cmv_decode_end(), cmv_decode_frame(), cmv_decode_inter(), cmv_decode_intra(), common_end(), comp_block(), cond_release_buffer(), cook_decode_frame(), copy_frame(), copy_frame_default(), copy_from(), create_clusters(), cyuv_decode_end(), cyuv_decode_frame(), dca_decode_frame(), dct_get(), decode_close(), decode_end(), decode_frame(), decode_frame_byterun1(), decode_frame_ilbm(), decode_i2_frame(), decode_i_frame(), decode_init(), decode_mb(), decode_p_block(), decode_p_frame(), decode_pic(), decode_slice(), decode_slice_header(), decode_slice_thread(), decode_tag(), decode_tile(), dfa_decode_end(), dfa_decode_frame(), dirac_decode_data_unit(), dirac_decode_frame(), dirac_decode_frame_internal(), dirac_decode_picture_header(), dnxhd_decode_close(), dnxhd_decode_frame(), dnxhd_decode_macroblock(), dnxhd_encode_picture(), dnxhd_load_picture(), do_audio_out(), do_video_resample(), dpcm_decode_frame(), draw_char(), dv_decode_video_segment(), dv_encode_video_segment(), dvvideo_close(), eightsvx_decode_frame(), encode_bitstream(), encode_frame(), encode_mb_internal(), encode_picture_lossless(), encode_picture_ls(), encode_slice(), encode_thread(), erase_line(), erase_screen(), escape124_decode_close(), escape124_decode_frame(), escape130_decode_close(), escape130_decode_frame(), estimate_best_b_count(), eval_motion_dist(), execute_code(), ff_alloc_picture(), ff_apply_vector_2x2(), ff_apply_vector_4x4(), ff_cavs_init_pic(), ff_cavs_next_mb(), ff_draw_horiz_band(), ff_dxva2_get_surface(), ff_er_frame_end(), ff_estimate_b_frame_motion(), ff_estimate_p_frame_motion(), ff_find_unused_picture(), ff_h263_decode_frame(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_fill_default_ref_list(), ff_h264_fill_mbaff_ref_list(), ff_init_block_index(), ff_jpegls_decode_picture(), ff_mjpeg_decode_end(), ff_mjpeg_decode_sof(), ff_mpeg_flush(), ff_pnm_end(), ff_pre_estimate_p_frame_motion(), ff_print_debug_info(), ff_release_unused_pictures(), ff_rv34_decode_frame(), ff_snow_common_end(), ff_snow_frame_start(), ff_snow_pred_block(), ff_snow_release_buffer(), ff_thread_release_buffer(), ff_vaapi_get_surface_id(), ff_vdpau_add_data_chunk(), ff_vdpau_h264_picture_complete(), ff_vdpau_h264_picture_start(), ff_vdpau_h264_set_reference_frames(), ff_vdpau_mpeg4_decode_picture(), ff_vdpau_mpeg_picture_complete(), ff_vdpau_vc1_decode_picture(), ff_vp56_decode_frame(), ff_vp56_free(), ff_xvmc_decode_mb(), ff_xvmc_field_end(), ff_xvmc_field_start(), ff_xvmc_init_block(), fill_yuv_image(), filter(), filter_mb_row(), filter_mb_row_simple(), flac_decode_frame(), flashsv2_encode_frame(), flashsv_decode_block(), flashsv_decode_end(), flashsv_decode_frame(), flashsv_decode_init(), flashsv_encode_frame(), flic_decode_end(), flic_decode_frame_15_16BPP(), flic_decode_frame_8BPP(), flic_decode_init(), flush(), free_picture(), free_sequence_buffers(), g722_decode_frame(), g723_1_decode_frame(), gather_data_for_cel(), gather_data_for_subcel(), get_frame_mb(), get_siz(), gif_decode_close(), gif_decode_frame(), gif_decode_init(), gif_encode_frame(), gif_read_image(), gsm_decode_frame(), guess_mv(), h261_decode_frame(), h263_mv4_search(), halfpel_interpol(), hl_decode_mb_444_internal(), hl_decode_mb_internal(), hscroll(), idcin_decode_end(), idcin_decode_frame(), idcin_decode_init(), idcin_decode_vlcs(), idct_put(), imc_decode_frame(), init_image(), interpolate_refplane(), ipvideo_decode_end(), ipvideo_decode_frame(), ipvideo_decode_init(), ipvideo_decode_opcodes(), ir2_decode_end(), ir2_decode_frame(), is_intra_more_likely(), lag_decode_end(), lag_decode_frame(), libcelt_dec_decode(), libgsm_decode_frame(), libopenjpeg_copy_rgba(), libopenjpeg_copy_to_packed16(), libopenjpeg_copy_to_packed8(), libopenjpeg_copy_yuv16(), libopenjpeg_copy_yuv8(), libopenjpeg_copyto16(), libopenjpeg_copyto8(), libopenjpeg_decode_close(), libopenjpeg_decode_frame(), libspeex_decode_frame(), ljpeg_decode_rgb_scan(), ljpeg_decode_yuv_scan(), load_input_picture(), loop_filter(), mace_decode_frame(), mb_var_thread(), mc_dir_part(), mimic_decode_end(), mimic_decode_frame(), mjpeg_decode_scan(), mjpeg_decode_scan_progressive_ac(), mm_decode_end(), mm_decode_frame(), mm_decode_inter(), mm_decode_intra(), mp_decode_end(), mp_decode_frame(), mp_get_yuv_from_rgb(), mp_read_changes_map(), mp_set_rgb_from_yuv(), mpc7_decode_frame(), mpc8_decode_frame(), mpeg4_encode_mb(), mpeg_field_start(), MPV_decode_mb_internal(), MPV_encode_picture(), MPV_frame_end(), MPV_frame_start(), MPV_motion_internal(), MPV_motion_lowres(), msmpeg4_pred_dc(), msrle_decode_end(), msrle_decode_frame(), msrle_decode_init(), msvideo1_decode_16bit(), msvideo1_decode_8bit(), msvideo1_decode_end(), msvideo1_decode_init(), mxpeg_check_dimensions(), mxpeg_decode_end(), mxpeg_decode_frame(), output_data(), pack_yuv(), pam_encode_frame(), pcm_bluray_decode_frame(), pcm_decode_frame(), pcx_decode_frame(), pcx_encode_frame(), pcx_end(), pic_as_field(), picmemset(), picmemset_8bpp(), png_dec_end(), pnm_decode_frame(), pnm_encode_frame(), predict_slice(), predict_slice_buffered(), prefetch_motion(), print_long_term(), print_short_term(), ptx_decode_frame(), ptx_end(), qcelp_decode_frame(), qdm2_decode_frame(), qtrle_decode_16bpp(), qtrle_decode_1bpp(), qtrle_decode_24bpp(), qtrle_decode_2n4bpp(), qtrle_decode_32bpp(), qtrle_decode_8bpp(), qtrle_decode_end(), qtrle_decode_frame(), qtrle_decode_init(), ra144_decode_frame(), ra288_decode_frame(), raw_decode(), reconstruct_and_encode_image(), render_slice(), rl2_decode_end(), rl2_decode_frame(), roq_decode_end(), roq_decode_frame(), rpza_decode_end(), rpza_decode_init(), rpza_decode_stream(), rtjpeg_decode_frame_yuv420(), rv30_loop_filter(), rv34_mc(), rv40_loop_filter(), s302m_decode_frame(), select_input_picture(), seqvideo_decode(), seqvideo_decode_end(), seqvideo_decode_init(), set_palette(), sgi_end(), shorten_decode_frame(), sipr_decode_frame(), skip_check(), smc_decode_end(), smc_decode_init(), smc_decode_stream(), smka_decode_frame(), sse_mb(), Stagefright_close(), Stagefright_decode_frame(), sunrast_decode_frame(), sunrast_end(), svq1_decode_frame(), svq1_encode_end(), svq1_encode_frame(), svq1_encode_plane(), svq3_mc_dir_part(), synth_superframe(), targa_encode_normal(), targa_encode_rle(), targa_end(), tgq_decode_end(), tgq_decode_frame(), tgq_idct_put_mb(), tgq_idct_put_mb_dconly(), tgv_decode_frame(), tgv_decode_inter(), tiff_end(), tm2_decode_blocks(), tmv_decode_close(), tmv_decode_frame(), to_meta_with_crop(), tqi_decode_end(), tqi_decode_frame(), tqi_idct_put(), transcode(), transcode_audio(), truemotion1_decode_16bit(), truemotion1_decode_24bit(), truemotion1_decode_end(), truemotion1_decode_header(), truemotion1_decode_init(), truespeech_decode_frame(), tta_decode_frame(), twin_decode_frame(), txd_decode_frame(), txd_end(), ulti_convert_yuv(), ulti_decode_end(), uninit(), update_frames(), v410_decode_close(), v410_decode_frame(), v410_encode_frame(), vble_decode_close(), vble_decode_frame(), vble_restore_plane(), vc1_decode_end(), vc1_decode_frame(), vc1_decode_skip_blocks(), vc1_interp_mc(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_chroma4(), vc1_mc_4mv_luma(), video_decode_example(), video_encode_example(), video_get_buffer(), vmd_decode(), vmdaudio_decode_frame(), vmdvideo_decode_end(), vmdvideo_decode_frame(), vorbis_decode_frame(), vp3_decode_init(), vp3_update_thread_context(), vp56_decode_mb(), vp56_mc(), vp8_decode(), vp8_decode_flush_impl(), vp8_decode_frame(), vp8_encode(), vp8_mc_chroma(), vp8_mc_luma(), vqa_decode_chunk(), vqa_decode_end(), vqa_decode_frame(), vqa_decode_init(), wavpack_decode_frame(), wma_decode_superframe(), write_png(), write_video_frame(), ws_snd_decode_frame(), X264_frame(), x8_init_block_index(), xan_decode_chroma(), xan_decode_end(), xan_decode_frame(), xan_decode_frame_type0(), xan_decode_frame_type1(), xan_wc3_copy_pixel_run(), xan_wc3_output_pixel_run(), XAVS_frame(), y41p_decode_close(), y41p_decode_frame(), y41p_encode_frame(), yop_decode_close(), and yop_decode_frame().

DCT coefficients

  • encoding: unused
  • decoding: Set by libavcodec.

Definition at line 1203 of file avcodec.h.

Referenced by ff_alloc_picture(), free_picture(), and MPV_decode_mb_internal().

picture number in display order

  • encoding: set by
  • decoding: Set by libavcodec.

Definition at line 1050 of file avcodec.h.

Referenced by copy_picture_attributes(), dirac_decode_frame(), dirac_decode_picture_header(), ff_write_pass1_stats(), get_delayed_pic(), load_input_picture(), and select_input_picture().

uint64_t AVFrame::error[AV_NUM_DATA_POINTERS]

error

  • encoding: Set by libavcodec.

if flags&CODEC_FLAG_PSNR.

  • decoding: unused

Definition at line 1140 of file avcodec.h.

Referenced by do_video_stats(), encode_thread(), merge_context_after_encode(), MPV_encode_picture(), and print_report().

pointers to the data planes/channels.

For video, this should simply point to data[].

For planar audio, each channel has a separate data pointer, and linesize[0] contains the size of each channel buffer. For packed audio, there is just one data pointer, and linesize[0] contains the total size of the buffer for all channels.

Note: Both data and extended_data will always be set by get_buffer(), but for planar audio with more channels that can fit in data, extended_data must be used by the decoder in order to access all channels.

encoding: unused decoding: set by AVCodecContext.get_buffer()

Definition at line 1286 of file avcodec.h.

Referenced by audio_get_buffer(), avcodec_decode_audio3(), and video_get_buffer().

format of the frame, -1 if unknown or unset It should be cast to the corresponding enum (enum PixelFormat for video, enum AVSampleFormat for audio) Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "format");

  • encoding: unused
  • decoding: Read by user.

Definition at line 1333 of file avcodec.h.

Referenced by avcodec_decode_video2(), avcodec_get_frame_defaults(), avfilter_copy_frame_props(), avfilter_get_video_buffer_ref_from_frame(), ff_init_buffer_info(), and video_get_buffer().

hardware accelerator private data (FFmpeg-allocated)

  • encoding: unused
  • decoding: Set by libavcodec

Definition at line 1231 of file avcodec.h.

Referenced by alloc_frame_buffer(), commit_bitstream_and_slice_buffer(), decode_slice(), end_frame(), free_frame_buffer(), and start_frame().

1 -> keyframe, 0-> not

  • encoding: Set by libavcodec.

  • decoding: Set by libavcodec.

Definition at line 1022 of file avcodec.h.

Referenced by a64multi_encode_frame(), a64multi_init_encoder(), aacPlus_encode_init(), adpcm_encode_init(), adx_encode_init(), alac_encode_init(), avcodec_get_frame_defaults(), avfilter_copy_frame_props(), avfilter_fill_frame_from_video_buffer_ref(), avs_decode_frame(), bfi_decode_frame(), bmp_decode_frame(), bmp_encode_frame(), cinepak_decode(), cmv_decode_frame(), decode_frame(), decode_init(), decode_nal_units(), decode_postinit(), dirac_decode_data_unit(), dnxhd_decode_init(), dnxhd_encode_init(), do_video_out(), encode_frame(), encode_init(), encode_picture(), encode_picture_lossless(), encode_picture_ls(), Faac_encode_init(), ff_h263_decode_frame(), ff_h264_frame_start(), ff_mjpeg_decode_sof(), ff_snow_frame_start(), ff_vp56_decode_frame(), flashsv2_encode_frame(), flashsv_encode_frame(), flush_encoders(), get_siz(), gif_encode_frame(), h261_decode_frame(), lag_decode_frame(), libdirac_encode_frame(), libgsm_encode_init(), libschroedinger_encode_frame(), MP3lame_encode_init(), MPA_encode_init(), mpeg1_decode_picture(), mpeg1_encode_sequence_header(), mpeg_decode_picture_coding_extension(), MPV_frame_start(), mxpeg_decode_frame(), oggvorbis_encode_init(), pam_encode_frame(), pcm_encode_init(), pcx_encode_frame(), pnm_decode_frame(), pnm_encode_frame(), prores_encode_init(), qtrle_encode_frame(), qtrle_encode_line(), raw_init_decoder(), raw_init_encoder(), roq_dpcm_encode_init(), storeframe(), svq1_encode_frame(), svq3_decode_frame(), targa_encode_frame(), targa_encode_init(), tgq_decode_frame(), tgv_decode_frame(), tmv_decode_frame(), v410_decode_frame(), v410_encode_frame(), vble_decode_frame(), vc1_decode_frame(), vorbis_encode_init(), vp56_decode_mb(), vp56_mc(), vp5_parse_coeff_models(), vp5_parse_header(), vp6_parse_coeff_models(), vp6_parse_header(), write_video_frame(), X264_frame(), XAVS_frame(), y41p_decode_frame(), and y41p_encode_frame().

int AVFrame::linesize[AV_NUM_DATA_POINTERS]

Size, in bytes, of the data for each picture/channel plane.

For audio, only linesize[0] may be set. For planar audio, each channel plane must be the same size.

Definition at line 1008 of file avcodec.h.

Referenced by aasc_decode_frame(), add_frame_default(), alloc_frame_buffer(), amv_encode_picture(), apply_loop_filter(), apply_motion_generic(), audio_get_buffer(), aura_decode_frame(), avfilter_fill_frame_from_video_buffer_ref(), avfilter_get_video_buffer_ref_from_frame(), avs_decode_frame(), bethsoftvid_decode_frame(), bfi_decode_frame(), bink_decode_plane(), binkb_decode_plane(), bmp_decode_frame(), bmp_encode_frame(), cdg_border_preset(), cdg_decode_frame(), cdg_scroll(), cdg_tile_block(), cinepak_decode_vectors(), cinvideo_decode_frame(), cmv_decode_inter(), cmv_decode_intra(), comp_block(), copy_frame(), copy_frame_default(), copy_from(), create_clusters(), cyuv_decode_frame(), dct_get(), decode_13(), decode_frame(), decode_frame_byterun1(), decode_frame_ilbm(), decode_i2_frame(), decode_i_frame(), decode_p_frame(), decode_slice(), decode_slice_header(), decode_slice_thread(), decode_tile(), dfa_decode_frame(), dirac_decode_data_unit(), dnxhd_decode_macroblock(), dnxhd_encode_picture(), dnxhd_load_picture(), do_video_resample(), draw_char(), dv_decode_video_segment(), dv_encode_video_segment(), encode_bitstream(), encode_frame(), encode_picture_lossless(), encode_picture_ls(), encode_slice(), erase_line(), erase_screen(), escape124_decode_frame(), escape130_decode_frame(), estimate_best_b_count(), eval_motion_dist(), execute_code(), ff_alloc_picture(), ff_apply_vector_2x2(), ff_apply_vector_4x4(), ff_cavs_init_pic(), ff_h264_fill_mbaff_ref_list(), ff_init_block_index(), ff_jpegls_decode_picture(), ff_mjpeg_decode_sof(), ff_print_debug_info(), ff_snow_frame_start(), ff_snow_release_buffer(), ff_vp56_decode_frame(), fill_yuv_image(), filter(), flashsv2_encode_frame(), flashsv_decode_block(), flashsv_decode_frame(), flashsv_encode_frame(), flic_decode_frame_15_16BPP(), flic_decode_frame_8BPP(), gather_data_for_cel(), gather_data_for_subcel(), get_frame_mb(), gif_encode_frame(), gif_read_image(), halfpel_interpol(), hscroll(), idcin_decode_vlcs(), idct_put(), init_mv(), interpolate_refplane(), ipvideo_decode_opcodes(), ir2_decode_frame(), lag_decode_frame(), libopenjpeg_copy_rgba(), libopenjpeg_copy_to_packed16(), libopenjpeg_copy_to_packed8(), libopenjpeg_copy_yuv16(), libopenjpeg_copy_yuv8(), libopenjpeg_copyto16(), libopenjpeg_copyto8(), load_input_picture(), mca(), mm_decode_inter(), mm_decode_intra(), mp_get_yuv_from_rgb(), mp_read_changes_map(), mp_set_rgb_from_yuv(), mpeg_field_start(), mpeg_motion_internal(), mpeg_motion_lowres(), MPV_decode_mb_internal(), MPV_frame_start(), msrle_decode_frame(), msvideo1_decode_16bit(), msvideo1_decode_8bit(), mxpeg_check_dimensions(), pack_yuv(), pam_encode_frame(), pcx_decode_frame(), pcx_encode_frame(), pic_as_field(), picmemset(), picmemset_8bpp(), pnm_decode_frame(), pnm_encode_frame(), predict_slice(), predict_slice_buffered(), ptx_decode_frame(), qtrle_decode_16bpp(), qtrle_decode_1bpp(), qtrle_decode_24bpp(), qtrle_decode_2n4bpp(), qtrle_decode_32bpp(), qtrle_decode_8bpp(), qtrle_decode_frame(), qtrle_encode_line(), raw_decode(), reconstruct_and_encode_image(), render_slice(), rl2_decode_frame(), rpza_decode_stream(), rtjpeg_decode_frame_yuv420(), seq_decode_op1(), seq_decode_op2(), seq_decode_op3(), seqvideo_decode(), skip_check(), smc_decode_stream(), Stagefright_decode_frame(), sunrast_decode_frame(), svq1_encode_frame(), svq1_encode_plane(), targa_encode_normal(), targa_encode_rle(), tgq_idct_put_mb(), tgq_idct_put_mb_dconly(), tgv_decode_frame(), tgv_decode_inter(), tm2_decode_blocks(), tmv_decode_frame(), to_meta_with_crop(), tqi_idct_put(), truemotion1_decode_16bit(), truemotion1_decode_24bit(), txd_decode_frame(), ulti_convert_yuv(), v410_decode_frame(), v410_encode_frame(), vble_restore_plane(), vc1_decode_b_mb_intfi(), vc1_decode_frame(), vc1_decode_p_mb_intfi(), vc1_interp_mc(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), video_decode_example(), video_encode_example(), video_get_buffer(), vmd_decode(), vp3_draw_horiz_band(), vp56_size_changed(), vp8_decode(), vp8_encode(), vqa_decode_chunk(), write_png(), write_video_frame(), X264_frame(), x8_decode_intra_mb(), x8_init_block_index(), x8_setup_spatial_predictor(), xan_decode_chroma(), xan_decode_frame(), xan_decode_frame_type0(), xan_decode_frame_type1(), xan_wc3_copy_pixel_run(), xan_wc3_output_pixel_run(), XAVS_frame(), y41p_decode_frame(), y41p_encode_frame(), yop_copy_previous_block(), yop_decode_frame(), yop_next_macroblock(), and yop_paint_block().

uint32_t* AVFrame::mb_type

macroblock type table mb_type_base + mb_width + 2

  • encoding: Set by user.

  • decoding: Set by libavcodec.

Definition at line 1118 of file avcodec.h.

Referenced by await_references(), check_input_motion(), copy_picture_attributes(), decode_cabac_field_decoding_flag(), decode_cabac_mb_skip(), decode_mb_skip(), direct_search(), fetch_diagonal_mv(), ff_alloc_picture(), ff_er_frame_end(), ff_estimate_p_frame_motion(), ff_fix_long_p_mvs(), ff_h263_decode_mb(), ff_h263_loop_filter(), ff_h263_update_motion_val(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), ff_h264_hl_decode_mb(), ff_mpeg4_set_direct_mv(), ff_print_debug_info(), ff_wmv2_decode_mb(), fill_decode_caches(), fill_decode_neighbors(), fill_filter_caches(), filter_mb_dir(), free_picture(), guess_dc(), guess_mv(), h261_decode_mb(), h261_decode_mb_skipped(), h264_filter_mb_fast_internal(), h_block_filter(), hl_decode_mb_444_internal(), hl_decode_mb_internal(), hl_motion(), is_intra_more_likely(), loop_filter(), mpeg4_decode_mb(), mpeg4_decode_partition_a(), mpeg4_decode_partition_b(), mpeg4_decode_partitioned_mb(), mpeg_decode_mb(), MPV_motion_internal(), msmpeg4v34_decode_mb(), parse_mb_skip(), pred_spatial_direct_motion(), pred_temp_direct_motion(), predict_field_decoding_flag(), preview_obmc(), rv30_loop_filter(), rv34_decode_macroblock(), rv34_decode_mb_header(), rv34_decode_mv(), rv34_pred_mv_b(), rv40_loop_filter(), svq1_encode_plane(), svq3_decode_frame(), svq3_decode_mb(), v_block_filter(), vc1_decode_b_mb_intfi(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), vc1_decode_p_mb_intfr(), and vc1_pred_b_mv_intfi().

mbskip_table[mb]>=1 if MB didn't change stride= mb_width = (width+15)>>4

  • encoding: unused
  • decoding: Set by libavcodec.

Definition at line 1096 of file avcodec.h.

Referenced by ff_alloc_picture(), ff_estimate_b_frame_motion(), ff_h263_update_motion_val(), free_picture(), mpeg4_decode_mb(), and mpeg4_encode_mb().

log2 of the size of the block which a single vector in motion_val represents: (4->16x16, 3->8x8, 2-> 4x4, 1-> 2x2)

  • encoding: unused
  • decoding: Set by libavcodec.

Definition at line 1126 of file avcodec.h.

Referenced by copy_picture_attributes(), ff_alloc_picture(), ff_er_frame_end(), and ff_print_debug_info().

motion vector table

 example:
 int mv_sample_log2= 4 - motion_subsample_log2;
 int mb_width= (width+15)>>4;
 int mv_stride= (mb_width << mv_sample_log2) + 1;
 motion_val[direction][x + y*mv_stride][0->mv_x, 1->mv_y];
  • encoding: Set by user.
  • decoding: Set by libavcodec.

Definition at line 1110 of file avcodec.h.

Referenced by check_input_motion(), copy_picture_attributes(), direct_search(), encode_thread(), ff_alloc_picture(), ff_er_frame_end(), ff_estimate_p_frame_motion(), ff_fix_long_p_mvs(), ff_h263_decode_mb(), ff_h263_update_motion_val(), ff_mpeg4_set_one_direct_mv(), ff_print_debug_info(), fill_decode_caches(), fill_filter_caches_inter(), guess_mv(), h263_encode_mb(), h263_mv4_search(), h263_pred_motion(), h_block_filter(), mpeg4_decode_partition_a(), mpeg4_decode_partitioned_mb(), mpeg4_encode_mb(), mpeg_decode_slice(), MPV_motion_internal(), pred_pskip_motion(), pred_spatial_direct_motion(), pred_temp_direct_motion(), preview_obmc(), rv34_decode_mv(), rv34_mc(), rv34_pred_mv(), rv34_pred_mv_b(), rv34_pred_mv_rv3(), rv34_set_deblock_coef(), set_p_mv_tables(), svq1_encode_plane(), svq3_decode_mb(), svq3_mc_dir(), v_block_filter(), vc1_apply_p_h_loop_filter(), vc1_apply_p_v_loop_filter(), vc1_decode_b_mb_intfi(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), vc1_decode_p_mb_intfr(), vc1_mc_1mv(), vc1_mc_4mv_chroma(), vc1_mc_4mv_luma(), vc1_pred_b_mv(), vc1_pred_b_mv_intfi(), vc1_pred_mv(), vc1_pred_mv_intfr(), wmv2_pred_motion(), and write_back_motion_list().

for some private data of the user

  • encoding: unused
  • decoding: Set by user.

Definition at line 1133 of file avcodec.h.

Referenced by avcodec_default_reget_buffer(), ff_print_debug_info(), queue_picture(), and video_thread().

the AVCodecContext which ff_thread_get_buffer() was last called on

  • encoding: Set by libavcodec.

  • decoding: Set by libavcodec.

Definition at line 1252 of file avcodec.h.

Referenced by ff_thread_await_progress(), ff_thread_get_buffer(), ff_thread_release_buffer(), ff_thread_report_progress(), free_progress(), and release_delayed_buffers().

Pan scan.

  • encoding: Set by user.
  • decoding: Set by libavcodec.

Definition at line 1182 of file avcodec.h.

Referenced by ff_alloc_picture(), free_picture(), and mpeg_field_start().

Picture type of the frame, see ?_TYPE below.

  • encoding: Set by libavcodec. for coded_picture (and set by user for input).
  • decoding: Set by libavcodec.

Definition at line 1029 of file avcodec.h.

Referenced by a64multi_encode_frame(), a64multi_init_encoder(), avfilter_copy_frame_props(), avfilter_fill_frame_from_video_buffer_ref(), avs_decode_frame(), bfi_decode_frame(), bmp_decode_frame(), bmp_encode_frame(), cmv_decode_frame(), copy_picture_attributes(), decode_frame(), decode_postinit(), dirac_decode_data_unit(), dnxhd_encode_init(), do_video_out(), do_video_stats(), encode_frame(), encode_init(), encode_picture(), encode_picture_lossless(), encode_picture_ls(), estimate_best_b_count(), execute_code(), ff_h263_decode_frame(), ff_h264_direct_ref_list_init(), ff_h264_execute_ref_pic_marking(), ff_mjpeg_decode_sof(), ff_print_debug_info(), ff_vp56_decode_frame(), flashsv2_encode_frame(), flashsv_encode_frame(), get_siz(), gif_encode_frame(), h261_decode_frame(), mimic_decode_frame(), mpeg1_decode_picture(), mpeg4_encode_mb(), mpeg_decode_picture_coding_extension(), MPV_encode_picture(), MPV_frame_start(), mxpeg_decode_frame(), pam_encode_frame(), pcx_decode_frame(), pcx_encode_frame(), pnm_decode_frame(), pnm_encode_frame(), prores_encode_init(), ptx_decode_frame(), qtrle_encode_frame(), queue_picture(), raw_decode(), raw_init_decoder(), raw_init_encoder(), rv10_decode_packet(), select_input_picture(), storeframe(), sunrast_decode_frame(), svq1_encode_frame(), svq1_encode_plane(), svq3_decode_frame(), targa_encode_frame(), tgq_decode_frame(), tgv_decode_frame(), tmv_decode_frame(), txd_decode_frame(), v410_decode_frame(), v410_encode_frame(), vaapi_mpeg4_start_frame(), vble_decode_frame(), vc1_decode_frame(), vc1_parse_frame_header_adv(), X264_frame(), XAVS_frame(), y41p_decode_frame(), and y41p_encode_frame().

dts from the last AVPacket that has been input into the decoder

  • encoding: unused
  • decoding: Read by user.

Definition at line 1245 of file avcodec.h.

Referenced by avcodec_decode_audio4(), avcodec_decode_video2(), ff_thread_decode_frame(), get_video_frame(), and main().

reordered pos from the last AVPacket that has been input into the decoder Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "pkt_pos");

  • encoding: unused
  • decoding: Read by user.

Definition at line 1304 of file avcodec.h.

Referenced by audio_get_buffer(), avcodec_decode_video2(), avcodec_get_frame_defaults(), avfilter_copy_frame_props(), avfilter_fill_frame_from_video_buffer_ref(), ff_init_buffer_info(), raw_decode(), and video_get_buffer().

reordered pts from the last AVPacket that has been input into the decoder

  • encoding: unused
  • decoding: Read by user.

Definition at line 1238 of file avcodec.h.

Referenced by audio_get_buffer(), avcodec_decode_video2(), avcodec_default_reget_buffer(), copy_frame(), ff_init_buffer_info(), get_video_frame(), main(), raw_decode(), and video_get_buffer().

int64_t AVFrame::pts

Definition at line 1161 of file avcodec.h.

Referenced by decode_postinit(), ff_vp56_decode_frame(), and slice_end().

QP store stride

  • encoding: unused
  • decoding: Set by libavcodec.

Definition at line 1088 of file avcodec.h.

Referenced by decode_init(), ff_alloc_picture(), ff_mjpeg_decode_frame(), ff_vp56_decode_frame(), and mjpegb_decode_frame().

quality (between 1 (good) and FF_LAMBDA_MAX (bad))

  • encoding: Set by libavcodec.

for coded_picture (and set by user for input).

  • decoding: Set by libavcodec.

Definition at line 1057 of file avcodec.h.

Referenced by copy_picture_attributes(), decode_frame(), decode_init(), dnxhd_encode_picture(), do_video_out(), do_video_stats(), encode_frame(), estimate_best_b_count(), estimate_qp(), ff_mjpeg_decode_frame(), ff_write_pass1_stats(), mjpegb_decode_frame(), MPV_frame_end(), print_report(), roq_encode_frame(), svq1_encode_plane(), transcode_video(), X264_frame(), and XAVS_frame().

int8_t* AVFrame::ref_index[2]

is this picture used as reference The values for this are the same as the MpegEncContext.picture_structure variable, that is 1->top field, 2->bottom field, 3->frame/both fields.

Set to 4 for delayed, non-reference frames.

  • encoding: unused
  • decoding: Set by libavcodec. (before get_buffer() call)).

Definition at line 1075 of file avcodec.h.

Referenced by aasc_decode_frame(), aura_decode_frame(), avs_decode_frame(), await_reference_mb_row(), await_references(), bethsoftvid_decode_init(), bfi_decode_frame(), bmp_decode_frame(), cdg_init_frame(), cinepak_decode_frame(), cmv_decode_frame(), cyuv_decode_frame(), decode_frame(), decode_init(), decode_postinit(), decode_slice_header(), dirac_decode_data_unit(), dirac_decode_frame(), dirac_decode_picture_header(), escape124_decode_frame(), escape130_decode_frame(), ff_draw_horiz_band(), ff_generate_sliding_window_mmcos(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_direct_ref_list_init(), ff_h264_execute_ref_pic_marking(), ff_h264_fill_mbaff_ref_list(), ff_h264_frame_start(), ff_release_unused_pictures(), ff_snow_frame_start(), ff_vdpau_h264_picture_complete(), ff_vdpau_h264_set_reference_frames(), ff_vp56_decode_frame(), fill_colmap(), fill_picture_parameters(), fill_slice_long(), fill_vaapi_pic(), fill_vaapi_ReferenceFrames(), flashsv_decode_frame(), flic_decode_frame_15_16BPP(), flic_decode_frame_8BPP(), flush_dpb(), get_delayed_pic(), get_lowest_part_y(), ipvideo_decode_frame(), ir2_decode_frame(), lag_decode_frame(), load_input_picture(), mc_dir_part(), mimic_decode_frame(), mm_decode_init(), mp_decode_frame(), MPV_decode_mb_internal(), MPV_frame_end(), MPV_frame_start(), msrle_decode_frame(), msvideo1_decode_frame(), mxpeg_decode_init(), pic_as_field(), pnm_decode_frame(), pred_spatial_direct_motion(), pred_temp_direct_motion(), qtrle_decode_frame(), rl2_decode_frame(), roq_decode_frame(), rpza_decode_frame(), select_input_picture(), seqvideo_decode_frame(), smc_decode_frame(), split_field_copy(), tgv_decode_frame(), truemotion1_decode_frame(), ulti_decode_frame(), unreference_pic(), v410_decode_frame(), v410_encode_frame(), vble_decode_frame(), vmdvideo_decode_frame(), xan_decode_frame(), y41p_decode_frame(), and y41p_encode_frame().

reordered opaque 64bit (generally an integer or a double precision float PTS but can be anything).

The user sets AVCodecContext.reordered_opaque to represent the input at that time, the decoder reorders values as needed and sets AVFrame.reordered_opaque to exactly one of the values provided by the user through AVCodecContext.reordered_opaque

Deprecated:
in favor of pkt_pts
  • encoding: unused
  • decoding: Read by user.

Definition at line 1224 of file avcodec.h.

Referenced by audio_get_buffer(), avcodec_default_reget_buffer(), end_frame(), ff_init_buffer_info(), raw_decode(), and video_get_buffer().

When decoding, this signals how much the picture must be delayed.

extra_delay = repeat_pict / (2*fps)

  • encoding: unused
  • decoding: Set by libavcodec.

Definition at line 1156 of file avcodec.h.

Referenced by decode_postinit(), mpeg_field_start(), queue_picture(), and vc1_decode_frame().

reordered sample aspect ratio for the video frame, 0/1 if unknown Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "sample_aspect_ratio");

  • encoding: unused
  • decoding: Read by user.

Definition at line 1313 of file avcodec.h.

Referenced by avcodec_decode_video2(), avcodec_get_frame_defaults(), avfilter_copy_frame_props(), avfilter_fill_frame_from_video_buffer_ref(), ff_init_buffer_info(), and video_get_buffer().

used by multithreading to store frame-specific info

  • encoding: Set by libavcodec.

  • decoding: Set by libavcodec.

Definition at line 1259 of file avcodec.h.

Referenced by ff_thread_await_progress(), ff_thread_get_buffer(), ff_thread_report_progress(), free_progress(), get_lowest_part_y(), and release_delayed_buffers().

type of the buffer (to keep track of who has to deallocate data[*])

  • encoding: Set by the one who allocates it.

  • decoding: Set by the one who allocates it. Note: User allocated (direct rendering) & internal buffers cannot coexist currently.

Definition at line 1148 of file avcodec.h.

Referenced by alloc_frame_buffer(), audio_get_buffer(), avcodec_default_reget_buffer(), avcodec_default_release_buffer(), decode_init(), dnxhd_decode_init(), estimate_best_b_count(), ff_alloc_picture(), ff_copy_picture(), ff_find_unused_picture(), ff_mpeg_flush(), ff_print_debug_info(), free_picture(), mpeg4_encode_mb(), select_input_picture(), skip_check(), update_frames(), and video_get_buffer().

width and height of the video frame Code outside libavcodec should access this field using: av_opt_ptr(avcodec_get_frame_class(), frame, "width");

  • encoding: unused
  • decoding: Read by user.

Definition at line 1322 of file avcodec.h.

Referenced by avcodec_decode_video2(), avfilter_copy_frame_props(), avfilter_get_video_buffer_ref_from_frame(), ff_init_buffer_info(), libopenjpeg_copy_to_packed16(), libopenjpeg_copy_to_packed8(), and video_get_buffer().


The documentation for this struct was generated from the following file:

Generated on Fri Oct 26 02:43:55 2012 for FFmpeg by  doxygen 1.5.8