FFmpeg
[フレーム]
Files | Data Structures | Enumerations | Functions
AVFrame
Data Structures

AVFrame is an abstraction for reference-counted raw multimedia data. More...

Files

file   frame.h
  reference-counted frame API
 

Data Structures

struct   AVFrameSideData
 
struct   AVFrame
  This structure describes decoded (raw) audio or video data. More...
 

Enumerations

 
 

Functions

  Accessors for some AVFrame fields.
 
 
 
 
int64_t  av_frame_get_pkt_pos (const AVFrame *frame)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
int8_t *  av_frame_get_qp_table (AVFrame *f, int *stride, int *type)
 
 
 
 
 
 
const char *  av_get_colorspace_name (enum AVColorSpace val)
  Get the name of a colorspace.
 
  Allocate an AVFrame and set its fields to default values.
 
  Free the frame and any dynamically allocated objects in it, e.g.
 
int  av_frame_ref (AVFrame *dst, const AVFrame *src)
  Set up a new reference to the data described by the source frame.
 
  Create a new frame that references the same data as src.
 
  Unreference all the buffers referenced by frame and reset the frame fields.
 
  Move everythnig contained in src to dst and reset src.
 
  Allocate new buffer(s) for audio or video data.
 
  Check if the frame data is writable.
 
  Ensure that the frame data is writable, avoiding data copy if possible.
 
int  av_frame_copy (AVFrame *dst, const AVFrame *src)
  Copy the frame data from src to dst.
 
int  av_frame_copy_props (AVFrame *dst, const AVFrame *src)
  Copy only "metadata" fields from src to dst.
 
  Get the buffer reference a given data plane is stored in.
 
  Add a new side data to a frame.
 
 
  If side data of the supplied type exists in the frame, free it and remove it from the frame.
 
 

Detailed Description

AVFrame is an abstraction for reference-counted raw multimedia data.

Enumeration Type Documentation

Enumerator:
AV_FRAME_DATA_PANSCAN

The data is the AVPanScan struct defined in libavcodec.

AV_FRAME_DATA_A53_CC

ATSC A53 Part 4 Closed Captions.

A53 CC bitstream is stored as uint8_t in AVFrameSideData.data. The number of bytes of CC data is AVFrameSideData.size.

AV_FRAME_DATA_STEREO3D

Stereoscopic 3d metadata.

The data is the AVStereo3D struct defined in libavutil/stereo3d.h.

AV_FRAME_DATA_MATRIXENCODING

The data is the AVMatrixEncoding enum defined in libavutil/channel_layout.h.

AV_FRAME_DATA_DOWNMIX_INFO

Metadata relevant to a downmix procedure.

The data is the AVDownmixInfo struct defined in libavutil/downmix_info.h.

AV_FRAME_DATA_REPLAYGAIN

ReplayGain information in the form of the AVReplayGain struct.

AV_FRAME_DATA_DISPLAYMATRIX

This side data contains a 3x3 transformation matrix describing an affine transformation that needs to be applied to the frame for correct presentation.

See libavutil/display.h for a detailed description of the data.

AV_FRAME_DATA_AFD

Active Format Description data consisting of a single byte as specified in ETSI TS 101 154 using AVActiveFormatDescription enum.

AV_FRAME_DATA_MOTION_VECTORS

Motion vectors exported by some codecs (on demand through the export_mvs flag set in the libavcodec AVCodecContext flags2 option).

The data is the AVMotionVector struct defined in libavutil/motion_vector.h.

Definition at line 48 of file frame.h.

Enumerator:
AV_AFD_SAME
AV_AFD_4_3
AV_AFD_16_9
AV_AFD_14_9
AV_AFD_4_3_SP_14_9
AV_AFD_16_9_SP_14_9
AV_AFD_SP_4_3

Definition at line 99 of file frame.h.

Function Documentation

int64_t av_frame_get_best_effort_timestamp ( const AVFrameframe )

Accessors for some AVFrame fields.

The position of these field in the structure is not part of the ABI, they should not be accessed directly outside libavcodec.

Examples:
filtering_video.c, and transcoding.c.

Referenced by decode_video(), get_video_frame(), main(), movie_push_frame(), and show_frame().

void av_frame_set_best_effort_timestamp ( AVFrameframe,
int64_t  val 
)

Referenced by avcodec_decode_audio4(), avcodec_decode_video2(), and get_frame_defaults().

int64_t av_frame_get_pkt_duration ( const AVFrameframe )

Referenced by audio_write_frame(), av_write_uncoded_frame_internal(), avcodec_decode_audio4(), pulse_write_frame(), and show_frame().

void av_frame_set_pkt_duration ( AVFrameframe,
int64_t  val 
)

Referenced by avcodec_decode_audio4(), ff_init_buffer_info(), get_frame_defaults(), gif_decode_frame(), and raw_decode().

int64_t av_frame_get_pkt_pos ( const AVFrameframe )

Referenced by do_blend(), ff_filter_frame_framed(), ff_tlog_ref(), filter_frame(), lavfi_read_packet(), select_frame(), show_frame(), and video_thread().

void av_frame_set_pkt_pos ( AVFrameframe,
int64_t  val 
)

Referenced by avcodec_decode_video2(), ff_init_buffer_info(), get_frame_defaults(), raw_decode(), and request_frame().

int64_t av_frame_get_channel_layout ( const AVFrameframe )
Examples:
filtering_audio.c.

Referenced by print_frame(), and show_frame().

void av_frame_set_channel_layout ( AVFrameframe,
int64_t  val 
)
int av_frame_get_channels ( const AVFrameframe )

Referenced by audio_decode_frame(), audio_frame_cksum(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), avcodec_decode_audio4(), ff_filter_frame(), ff_filter_frame_needs_framing(), filter_frame(), lavfi_read_packet(), pad_last_frame(), pulse_write_frame(), reap_filters(), request_frame(), show_frame(), unrefcount_frame(), and update_frame_pool().

void av_frame_set_channels ( AVFrameframe,
int  val 
)

Referenced by avcodec_decode_audio4(), ff_default_get_audio_buffer(), ff_init_buffer_info(), filter_frame(), join_request_frame(), pad_last_frame(), and unrefcount_frame().

int av_frame_get_sample_rate ( const AVFrameframe )
void av_frame_set_sample_rate ( AVFrameframe,
int  val 
)

Referenced by request_frame().

AVDictionary* av_frame_get_metadata ( const AVFrameframe )

Referenced by filter_frame(), lavfi_read_packet(), and show_frame().

void av_frame_set_metadata ( AVFrameframe,
AVDictionaryval 
)

Referenced by decode_frame().

int av_frame_get_decode_error_flags ( const AVFrameframe )
void av_frame_set_decode_error_flags ( AVFrameframe,
int  val 
)

Referenced by ac3_decode_frame(), and cpia_decode_frame().

int av_frame_get_pkt_size ( const AVFrameframe )

Referenced by show_frame().

void av_frame_set_pkt_size ( AVFrameframe,
int  val 
)

Referenced by ff_init_buffer_info(), and get_frame_defaults().

AVDictionary** avpriv_frame_get_metadatap ( AVFrameframe )

Definition at line 47 of file frame.c.

Referenced by add_metadata(), add_metadata_from_side_data(), decode_frame(), do_psnr(), ff_mjpeg_decode_frame(), filter_frame(), select_frame(), and webp_decode_frame().

int8_t* av_frame_get_qp_table ( AVFramef,
int *  stride,
int *  type 
)

Definition at line 62 of file frame.c.

Referenced by filter_frame(), and pp_filter_frame().

int av_frame_set_qp_table ( AVFramef,
AVBufferRefbuf,
int  stride,
int  type 
)

Definition at line 49 of file frame.c.

Referenced by ff_mjpeg_decode_frame(), and ff_mpv_export_qp_table().

enum AVColorSpace av_frame_get_colorspace ( const AVFrameframe )

Referenced by ff_init_buffer_info(), and filter_frame().

void av_frame_set_colorspace ( AVFrameframe,
enum AVColorSpace  val 
)

Referenced by ff_init_buffer_info(), and filter_frame().

enum AVColorRange av_frame_get_color_range ( const AVFrameframe )

Referenced by ff_init_buffer_info(), and filter_frame().

void av_frame_set_color_range ( AVFrameframe,
enum AVColorRange  val 
)

Referenced by ff_init_buffer_info().

const char* av_get_colorspace_name ( enum AVColorSpace  val )

Get the name of a colorspace.

Returns
a static string identifying the colorspace; can be NULL.

Definition at line 73 of file frame.c.

Referenced by avcodec_string(), and show_stream().

AVFrame* av_frame_alloc ( void  )

Allocate an AVFrame and set its fields to default values.

The resulting struct must be freed using av_frame_free().

Returns
An AVFrame filled with default values or NULL on failure.
Note
this only allocates the AVFrame itself, not the data buffers. Those must be allocated through other means, e.g. with av_frame_get_buffer() or manually.

Definition at line 123 of file frame.c.

Referenced by a64multi_encode_init(), aasc_decode_init(), alloc_audio_frame(), alloc_picture(), audio_decode_example(), audio_decode_frame(), audio_encode_example(), av_buffersink_get_samples(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), av_frame_clone(), avcodec_decode_audio3(), avcodec_encode_audio(), avcodec_encode_audio2(), avcodec_open2(), avs_decode_init(), avui_encode_init(), bethsoftvid_decode_init(), bmp_encode_init(), cdg_decode_init(), cinepak_decode_init(), cinepak_encode_init(), cinvideo_decode_init(), cmv_decode_init(), config(), config_output(), cpia_decode_init(), decklink_write_video_packet(), decode_audio(), decode_entropy_coded_image(), decode_init(), decode_thread(), decode_video(), dirac_decode_init(), dnxhd_encode_init(), dvvideo_encode_init(), dxva2_alloc(), encode_frame(), encode_init(), encode_init_ls(), escape124_decode_init(), ff_cavs_init(), ff_default_get_audio_buffer(), ff_default_get_video_buffer(), ff_frame_thread_init(), ff_load_image(), ff_mjpeg_decode_init(), ff_mpv_common_init(), ff_mpv_encode_init(), ff_thread_video_encode_frame(), ff_vf_next_put_image(), ff_vp56_init_context(), ffv1_common_init(), fic_decode_init(), filter_encode_write_frame(), flashsv_decode_init(), flashsv_encode_init(), flic_decode_init(), gif_decode_init(), gif_encode_frame(), gif_encode_init(), hevc_init_context(), init(), init_frames(), init_input_frame(), init_output_frame(), init_thread_copy(), ipvideo_decode_init(), ir2_decode_init(), join_request_frame(), lavfi_read_header(), libopenjpeg_encode_init(), libschroedinger_encode_init(), libwebp_encode_frame(), libx265_encode_init(), ljpeg_encode_init(), main(), mca(), mimic_decode_init(), mimic_init_thread_copy(), mm_decode_init(), movie_push_frame(), mp_decode_init(), msrle_decode_init(), mss1_decode_init(), mss2_decode_init(), mss3_decode_init(), mss4_decode_init(), msvideo1_decode_init(), mvc_decode_init(), mxpeg_decode_init(), pad_last_frame(), paf_video_init(), pam_encode_init(), pcx_encode_init(), png_dec_init(), png_enc_init(), pnm_encode_init(), prores_encode_init(), qtrle_decode_init(), qtrle_encode_init(), raw_encode_init(), read_interval_packets(), reap_filters(), reget_buffer_internal(), roq_decode_init(), roq_encode_init(), rpza_decode_init(), seqvideo_decode_init(), sgirle_decode_init(), smc_decode_init(), smvjpeg_decode_init(), sub2video_prepare(), svq1_decode_init(), svq1_encode_init(), targa_encode_init(), tgv_decode_init(), truemotion1_decode_init(), try_decode_frame(), tscc2_decode_init(), ulti_decode_init(), utvideo_decode_init(), utvideo_encode_init(), v308_encode_init(), v408_encode_init(), v410_encode_init(), vc1_decode_init(), vda_init(), vdpau_alloc(), video_decode_example(), video_encode_example(), video_thread(), vmdvideo_decode_init(), vp8_init_frames(), vp8_lossy_decode_alpha(), vpx_init(), X264_init(), xan_decode_init(), XAVS_init(), xface_encode_init(), xvid_encode_init(), y41p_encode_init(), yop_decode_init(), yuv4_encode_init(), and zerocodec_decode_init().

void av_frame_free ( AVFrame **  frame )

Free the frame and any dynamically allocated objects in it, e.g.

extended_data. If the frame is reference counted, it will be unreferenced first.

Parameters
frame frame to be freed. The pointer will be set to NULL.

Definition at line 136 of file frame.c.

Referenced by a64multi_close_encoder(), aasc_decode_end(), add_to_queue(), amv_encode_picture(), apply_lut(), audio_decode_example(), audio_encode_example(), av_buffersink_get_frame_flags(), av_buffersink_get_samples(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), av_frame_clone(), avcodec_close(), avcodec_decode_audio3(), avcodec_encode_audio(), avcodec_encode_audio2(), avcodec_open2(), avfilter_link_free(), avs_decode_end(), bethsoftvid_decode_end(), blend_frame(), bmp_encode_close(), cdg_decode_end(), channelmap_filter_frame(), cinepak_decode_end(), cinepak_encode_end(), cinepak_encode_init(), cinvideo_decode_end(), close_stream(), cmv_decode_end(), cmv_decode_init(), compand_delay(), compand_nodelay(), config_output(), config_video_output(), cpia_decode_end(), decimate_uninit(), decklink_write_video_packet(), decode_close(), decode_end(), decode_init(), dirac_decode_end(), dirac_decode_init(), dnxhd_encode_end(), dvvideo_encode_close(), dxva2_uninit(), encode_close(), encode_end(), encode_frame(), encode_write_frame(), escape124_decode_close(), ff_bufqueue_add(), ff_bufqueue_discard_all(), ff_cavs_end(), ff_default_get_audio_buffer(), ff_default_get_video_buffer(), ff_filter_frame_framed(), ff_filter_frame_needs_framing(), ff_frame_thread_free(), ff_framesync_get_frame(), ff_framesync_uninit(), ff_ivi_decode_close(), ff_mjpeg_decode_end(), ff_mpv_common_end(), ff_mpv_encode_end(), ff_snow_common_end(), ff_vc1_decode_end(), ff_vf_next_put_image(), ff_vp56_free_context(), ff_vp8_decode_free(), ffmpeg_cleanup(), ffv1_close(), fic_decode_close(), fic_decode_frame(), fieldmatch_uninit(), filter_encode_write_frame(), filter_frame(), fixstride(), flashsv_decode_end(), flashsv_encode_end(), flic_decode_end(), flush(), flush_fifo(), framepack_uninit(), framesync_advance(), geq_filter_frame(), get_best_frame(), get_scene_score(), gif_decode_close(), gif_encode_close(), hevc_decode_free(), if(), image_ctx_free(), init_frames(), init_output_frame(), ipvideo_decode_end(), ipvideo_decode_init(), ir2_decode_end(), join_request_frame(), join_uninit(), lavfi_read_close(), libopenjpeg_encode_frame(), libschroedinger_encode_close(), libwebp_encode_frame(), libx265_encode_close(), ljpeg_encode_close(), load_encode_and_write(), main(), mimic_decode_end(), mm_decode_end(), movie_push_frame(), mp_decode_end(), msrle_decode_end(), mss1_decode_end(), mss2_decode_end(), mss3_decode_end(), mss3_decode_init(), mss4_decode_end(), msvideo1_decode_end(), mvc_decode_end(), mxpeg_decode_end(), null_filter_frame(), output_frame(), pad_last_frame(), paf_video_close(), pam_encode_close(), pcx_encode_close(), png_dec_end(), png_enc_close(), pnm_encode_close(), pp_filter_frame(), process_frame(), qtrle_decode_end(), qtrle_encode_end(), raw_close(), read_decode_convert_and_store(), read_from_fifo(), read_interval_packets(), reget_buffer_internal(), request_frame(), return_audio_frame(), roq_decode_end(), roq_decode_init(), roq_encode_end(), rpza_decode_end(), decklink_callback::ScheduledFrameCompleted(), seqvideo_decode_end(), sgirle_decode_end(), shuffleplanes_filter_frame(), smc_decode_end(), smvjpeg_decode_end(), Stagefright_close(), Stagefright_decode_frame(), stream_component_close(), sunrast_encode_close(), svq1_decode_end(), svq1_encode_end(), targa_encode_close(), tgv_decode_end(), truemotion1_decode_end(), try_decode_frame(), tscc2_decode_end(), ulti_decode_end(), uninit(), utvideo_decode_close(), vda_uninit(), vdpau_uninit(), video_decode_example(), video_encode_example(), video_thread(), vmdvideo_decode_end(), vp3_decode_end(), vp8_lossy_decode_alpha(), vp9_decode_free(), worker(), write_packet(), write_to_fifo(), X264_close(), xan_decode_end(), XAVS_close(), yae_clear(), yop_decode_close(), and zerocodec_decode_close().

int av_frame_ref ( AVFramedst,
const AVFramesrc 
)

Set up a new reference to the data described by the source frame.

Copy frame properties from src to dst and create a new reference for each AVBufferRef from src.

If src is not reference counted, new buffers are allocated and the data is copied.

Returns
0 on success, a negative AVERROR on error

Definition at line 266 of file frame.c.

Referenced by aasc_decode_frame(), av_buffersink_get_frame_flags(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), av_frame_clone(), avs_decode_frame(), bethsoftvid_decode_frame(), cavs_decode_frame(), cdg_decode_frame(), cinepak_decode_frame(), cinvideo_decode_frame(), cmv_decode_frame(), copy_frame(), cpia_decode_frame(), decode_frame(), decode_video(), dirac_decode_frame(), encode_frame(), escape124_decode_frame(), ff_h263_decode_frame(), ff_hevc_output_frame(), ff_mjpeg_decode_frame(), ff_rv34_decode_frame(), ff_thread_ref_frame(), ff_vp56_decode_frame(), ff_vp56_decode_mbs(), fic_decode_frame(), finish_frame(), flashsv_decode_frame(), flic_decode_frame_15_16BPP(), flic_decode_frame_8BPP(), get_delayed_pic(), gif_decode_frame(), gif_encode_frame(), h261_decode_frame(), ipvideo_decode_frame(), ir2_decode_frame(), load_input_picture(), mimic_decode_frame(), mjpegb_decode_frame(), mm_decode_frame(), mp_decode_frame(), mpeg_decode_frame(), msrle_decode_frame(), mss1_decode_frame(), mss2_decode_frame(), mss3_decode_frame(), mss4_decode_frame(), msvideo1_decode_frame(), mvc_decode_frame(), mxpeg_decode_frame(), output_frame(), paf_video_decode(), qtrle_decode_frame(), roq_decode_frame(), rpza_decode_frame(), rv10_decode_frame(), seqvideo_decode_frame(), sgirle_decode_frame(), slice_end(), smc_decode_frame(), smvjpeg_decode_frame(), svq1_decode_frame(), svq3_decode_frame(), tgv_decode_frame(), truemotion1_decode_frame(), tscc2_decode_frame(), ulti_decode_frame(), vc1_decode_frame(), vmdvideo_decode_frame(), vp78_decode_frame(), vp9_decode_frame(), xan_decode_frame(), yop_decode_frame(), and zerocodec_decode_frame().

AVFrame* av_frame_clone ( const AVFramesrc )

Create a new frame that references the same data as src.

This is a shortcut for av_frame_alloc()+av_frame_ref().

Returns
newly created AVFrame on success, NULL on error.

Definition at line 352 of file frame.c.

Referenced by amv_encode_picture(), create_weave_frame(), decklink_write_video_packet(), ff_framesync_get_frame(), ff_vf_next_put_image(), fic_decode_frame(), filter_frame(), get_scene_score(), libopenjpeg_encode_frame(), plot_cqt(), plot_spectrum_column(), request_frame(), and return_audio_frame().

void av_frame_unref ( AVFrameframe )

Unreference all the buffers referenced by frame and reset the frame fields.

Definition at line 365 of file frame.c.

Referenced by aac_decode_frame_int(), audio_decode_frame(), audio_get_buffer(), av_frame_free(), av_frame_make_writable(), av_frame_ref(), avcodec_decode_audio4(), avcodec_decode_video2(), avcodec_default_release_buffer(), avcodec_flush_buffers(), cavs_decode_frame(), cdg_decode_frame(), cmv_decode_frame(), cmv_process_header(), codec_reinit(), copy_frame(), decode_frame(), decode_packet(), decode_pic(), decode_subframe(), decode_video(), dirac_decode_data_unit(), dirac_decode_frame(), dxva2_retrieve_data(), encode_frame(), escape124_decode_frame(), execute_code(), ff_h264_alloc_tables(), ff_h264_update_thread_context(), ff_mjpeg_decode_end(), ff_mjpeg_decode_sof(), ff_mpeg_unref_picture(), ff_snow_release_buffer(), ff_thread_flush(), ff_thread_release_buffer(), ff_vp56_decode_frame(), ff_vp56_decode_mbs(), fixstride(), flashsv_decode_frame(), flush(), frame_configure_elements(), frame_worker_thread(), free_picture(), free_sequence_buffers(), get_audio_buffer(), get_video_buffer(), get_video_frame(), gif_decode_frame(), gif_encode_frame(), hevc_frame_start(), ipvideo_decode_frame(), lavfi_read_packet(), main(), mss2_decode_frame(), mxpeg_decode_frame(), reap_filters(), reget_buffer_internal(), release_delayed_buffers(), select_input_picture(), set_sps(), smvjpeg_decode_frame(), sub2video_get_blank_frame(), svq1_decode_frame(), svq1_flush(), svq3_decode_end(), svq3_decode_frame(), tgv_decode_frame(), truemotion1_decode_header(), unrefcount_frame(), vda_retrieve_data(), vdpau_retrieve_data(), video_get_buffer(), video_thread(), vmdvideo_decode_frame(), vorbis_decode_frame(), worker(), xan_decode_frame(), and zerocodec_decode_frame().

void av_frame_move_ref ( AVFramedst,
AVFramesrc 
)

Move everythnig contained in src to dst and reset src.

Definition at line 385 of file frame.c.

Referenced by av_buffersink_get_frame_flags(), av_buffersrc_add_frame_internal(), cavs_decode_frame(), cmv_decode_frame(), decode_frame(), decode_packet(), dxva2_retrieve_data(), ff_ivi_decode_frame(), ff_thread_decode_frame(), ff_thread_release_buffer(), fixstride(), hevc_decode_frame(), read_from_fifo(), reget_buffer_internal(), unrefcount_frame(), utvideo_decode_frame(), vda_retrieve_data(), and vdpau_retrieve_data().

int av_frame_get_buffer ( AVFrameframe,
int  align 
)

Allocate new buffer(s) for audio or video data.

The following fields must be set on frame before calling this function:

  • format (pixel format for video, sample format for audio)
  • width and height for video
  • nb_samples and channel_layout for audio

This function will fill AVFrame.data and AVFrame.buf arrays and, if necessary, allocate and fill AVFrame.extended_data and AVFrame.extended_buf. For planar formats, one buffer will be allocated for each plane.

Parameters
frame frame in which to store the new buffers.
align required buffer size alignment
Returns
0 on success, a negative AVERROR on error.

Definition at line 253 of file frame.c.

Referenced by alloc_audio_frame(), alloc_picture(), av_frame_make_writable(), av_frame_ref(), avresample_convert_frame(), config_output(), decklink_write_video_packet(), decode_entropy_coded_image(), dxva2_retrieve_data(), encode_frame(), ff_default_get_audio_buffer(), ff_default_get_video_buffer(), ff_mpv_encode_init(), get_input(), init_output_frame(), libwebp_encode_frame(), pad_last_frame(), sub2video_get_blank_frame(), swr_convert_frame(), vda_retrieve_data(), and vdpau_retrieve_data().

int av_frame_is_writable ( AVFrameframe )

Check if the frame data is writable.

Returns
A positive value if the frame data is writable (which is true if and only if each of the underlying buffers has only one reference, namely the one stored in this frame). Return 0 otherwise.

If 1 is returned the answer is valid until av_buffer_ref() is called on any of the underlying AVBufferRefs (e.g. through av_frame_ref() or directly).

See Also
av_frame_make_writable(), av_buffer_is_writable()

Definition at line 394 of file frame.c.

Referenced by apply_lut(), av_frame_make_writable(), compand_nodelay(), ff_filter_frame_framed(), filter_frame(), frame_needs_copy(), and reget_buffer_internal().

int av_frame_make_writable ( AVFrameframe )

Ensure that the frame data is writable, avoiding data copy if possible.

Do nothing if the frame is writable, allocate new buffers and copy the data if it is not.

Returns
0 on success, a negative AVERROR on error.
See Also
av_frame_is_writable(), av_buffer_is_writable(), av_buffer_make_writable()

Definition at line 411 of file frame.c.

Referenced by ff_framesync_get_frame(), ff_h263_decode_frame(), ff_print_debug_info2(), fill_yuv_image(), filter_frame(), and write_audio_frame().

int av_frame_copy ( AVFramedst,
const AVFramesrc 
)

Copy the frame data from src to dst.

This function does not allocate anything, dst must be already initialized and allocated with the same parameters as src.

This function only copies the frame data (i.e. the contents of the data / extended data arrays), not any other properties.

Returns
>= 0 on success, a negative AVERROR on error.

Definition at line 649 of file frame.c.

Referenced by av_frame_make_writable(), av_frame_ref(), encode_frame(), filter_frame(), libwebp_encode_frame(), reget_buffer_internal(), and shuffleplanes_filter_frame().

int av_frame_copy_props ( AVFramedst,
const AVFramesrc 
)

Copy only "metadata" fields from src to dst.

Metadata for the purpose of this function are those fields that do not affect the data layout in the buffers. E.g. pts, sample rate (for audio) or sample aspect ratio (for video), but not width/height or channel layout. Side data is also copied.

Definition at line 454 of file frame.c.

Referenced by apply_lut(), av_frame_make_writable(), av_frame_ref(), blend_frame(), compand_delay(), compand_nodelay(), create_weave_frame(), dxva2_retrieve_data(), ff_filter_frame_framed(), ff_filter_frame_needs_framing(), filter(), filter_frame(), fixstride(), geq_filter_frame(), load_input_picture(), pad_last_frame(), pp_filter_frame(), request_frame(), return_frame(), select_input_picture(), shuffleplanes_filter_frame(), unrefcount_frame(), vda_retrieve_data(), and vdpau_retrieve_data().

AVBufferRef* av_frame_get_plane_buffer ( AVFrameframe,
int  plane 
)

Get the buffer reference a given data plane is stored in.

Parameters
plane index of the data plane of interest in frame->extended_data.
Returns
the buffer reference that contains the plane or NULL if the input frame is not valid.

Definition at line 527 of file frame.c.

Referenced by buffer_needs_copy(), and join_request_frame().

AVFrameSideData* av_frame_new_side_data ( AVFrameframe,
enum AVFrameSideDataType  type,
int  size 
)

Add a new side data to a frame.

Parameters
frame a frame to which the side data should be added
type type of the added side data
size size of the side data
Returns
newly added side data on success, NULL on error

Definition at line 558 of file frame.c.

Referenced by av_downmix_info_update_side_data(), av_frame_copy_props(), av_stereo3d_create_side_data(), decode_postinit(), ff_init_buffer_info(), ff_print_debug_info2(), ff_side_data_update_matrix_encoding(), mpeg_field_start(), and set_side_data().

AVFrameSideData* av_frame_get_side_data ( const AVFrameframe,
enum AVFrameSideDataType  type 
)
Returns
a pointer to the side data of a given type on success, NULL if there is no side data with such type in this frame.

Definition at line 591 of file frame.c.

Referenced by av_downmix_info_update_side_data(), decode_packet(), ff_mpeg1_encode_picture_header(), ff_side_data_update_matrix_encoding(), filter_frame(), mpeg1_encode_sequence_header(), and X264_frame().

void av_frame_remove_side_data ( AVFrameframe,
enum AVFrameSideDataType  type 
)

If side data of the supplied type exists in the frame, free it and remove it from the frame.

Definition at line 662 of file frame.c.

Referenced by filter_frame().

const char* av_frame_side_data_name ( enum AVFrameSideDataType  type )
Returns
a string identifying the side data type

Definition at line 676 of file frame.c.

Referenced by show_frame().


Generated on Sun Sep 14 2014 18:56:37 for FFmpeg by   doxygen 1.8.2

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