FFmpeg
|
AVFrame is an abstraction for reference-counted raw multimedia data. More...
Modules | |
AV_FRAME_FLAGS | |
Flags describing additional frame properties. | |
Files | |
file | frame.h |
reference-counted frame API | |
Data Structures | |
struct | AVFrameSideData |
Structure to hold side data for an AVFrame. More... | |
struct | AVFrame |
This structure describes decoded (raw) audio or video data. More... | |
AVFrame is an abstraction for reference-counted raw multimedia data.
enum AVFrameSideDataType |
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. |
AV_FRAME_DATA_SKIP_SAMPLES |
Recommmends skipping the specified number of samples. This is exported only if the "skip_manual" AVOption is set in libavcodec. This has the same format as AV_PKT_DATA_SKIP_SAMPLES. |
AV_FRAME_DATA_AUDIO_SERVICE_TYPE |
This side data must be associated with an audio frame and corresponds to enum AVAudioServiceType defined in avcodec.h. |
AV_FRAME_DATA_MASTERING_DISPLAY_METADATA |
Mastering display metadata associated with a video frame. The payload is an AVMasteringDisplayMetadata type and contains information about the mastering display color volume. |
AV_FRAME_DATA_GOP_TIMECODE |
The GOP timecode in 25 bit timecode format. Data format is 64-bit integer. This is set on the first frame of a GOP that has a temporal reference of 0. |
AV_FRAME_DATA_SPHERICAL |
The data represents the AVSphericalMapping structure defined in libavutil/spherical.h. |
int64_t av_frame_get_best_effort_timestamp | ( | const AVFrame * | frame | ) |
Accessors for some AVFrame fields.
These used to be provided for ABI compatibility, and do not need to be used anymore.
Referenced by avcodec_receive_frame(), decode_video(), decoder_decode_frame(), main(), movie_push_frame(), and show_frame().
Referenced by avcodec_decode_audio4(), avcodec_decode_video2(), and avcodec_receive_frame().
int64_t av_frame_get_pkt_duration | ( | const AVFrame * | frame | ) |
Referenced by avcodec_decode_audio4(), copy_frame(), cuvid_output_frame(), ff_init_buffer_info(), gif_decode_frame(), and raw_decode().
int64_t av_frame_get_pkt_pos | ( | const AVFrame * | frame | ) |
Referenced by avcodec_decode_video2(), copy_frame(), cuvid_output_frame(), ff_init_buffer_info(), raw_decode(), and request_frame().
int64_t av_frame_get_channel_layout | ( | const AVFrame * | frame | ) |
Referenced by print_frame(), and show_frame().
Referenced by audio_decode_frame(), audio_frame_cksum(), audio_thread(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), avcodec_decode_audio4(), calc_ptr_alignment(), compute_frame_rms(), ff_filter_frame(), ff_inlink_make_frame_writable(), filter_frame(), find_peak_magnitude(), ifilter_parameters_from_frame(), lavfi_read_packet(), pad_last_frame(), pulse_write_frame(), reap_filters(), request_frame(), run_test(), show_frame(), unrefcount_frame(), and update_frame_pool().
Referenced by request_frame().
AVDictionary* av_frame_get_metadata | ( | const AVFrame * | frame | ) |
Referenced by filter_frame(), get_concatdec_select(), lavfi_read_packet(), receiver_thread(), and show_frame().
void av_frame_set_metadata | ( | AVFrame * | frame, |
AVDictionary * | val | ||
) |
Referenced by decode_header(), and sender_thread().
Referenced by check_decode_result().
Referenced by ac3_decode_frame(), cpia_decode_frame(), and decode_picture().
Referenced by show_frame().
Referenced by copy_frame(), cuvid_output_frame(), and ff_init_buffer_info().
AVDictionary** avpriv_frame_get_metadatap | ( | AVFrame * | frame | ) |
Definition at line 51 of file frame.c.
Referenced by add_metadata(), add_metadata_from_side_data(), decode_frame(), decode_frame_common(), do_psnr(), do_ssim(), extract_line(), ff_mjpeg_decode_frame(), filter(), filter_frame(), select_frame(), and webp_decode_frame().
Definition at line 69 of file frame.c.
Referenced by filter_frame(), and pp_filter_frame().
int av_frame_set_qp_table | ( | AVFrame * | f, |
AVBufferRef * | buf, | ||
int | stride, | ||
int | type | ||
) |
Definition at line 54 of file frame.c.
Referenced by ff_mjpeg_decode_frame(), ff_mpv_export_qp_table(), and filter_frame().
enum AVColorSpace av_frame_get_colorspace | ( | const AVFrame * | frame | ) |
Referenced by deint_vaapi_filter_frame(), ff_init_buffer_info(), and filter_frame().
void av_frame_set_colorspace | ( | AVFrame * | frame, |
enum AVColorSpace | val | ||
) |
Referenced by ff_init_buffer_info(), filter_frame(), plot_cqt(), and vtenc_populate_extradata().
enum AVColorRange av_frame_get_color_range | ( | const AVFrame * | frame | ) |
Referenced by create_cv_pixel_buffer(), ff_init_buffer_info(), filter_frame(), and get_cv_pixel_info().
void av_frame_set_color_range | ( | AVFrame * | frame, |
enum AVColorRange | val | ||
) |
Referenced by config_output(), ff_init_buffer_info(), filter_frame(), plot_cqt(), and vtenc_populate_extradata().
const char* av_get_colorspace_name | ( | enum AVColorSpace | val | ) |
Get the name of a colorspace.
Definition at line 83 of file frame.c.
Referenced by avcodec_string().
Allocate an AVFrame and set its fields to default values.
The resulting struct must be freed using av_frame_free().
Definition at line 150 of file frame.c.
Referenced by aasc_decode_init(), alloc_audio_frame(), alloc_frame(), alloc_frame_empty(), alloc_picture(), apng_encode_frame(), audio_thread(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), av_frame_clone(), av_hwframe_get_buffer(), avcodec_encode_audio2(), avcodec_open2(), avs_decode_init(), bethsoftvid_decode_init(), cdg_decode_init(), cinepak_decode_init(), cinepak_encode_init(), cinvideo_decode_init(), clv_decode_init(), cmv_decode_init(), config_input(), config_output(), cpia_decode_init(), create_cv_pixel_buffer(), cuvid_output_frame(), decode_audio(), decode_entropy_coded_image(), decode_init(), decode_video(), deint_vaapi_filter_frame(), dirac_decode_init(), do_video_out(), downscale(), dxva2_alloc(), dxva2_transfer_data_from(), dxva2_transfer_data_to(), encode_apng(), encode_frame(), encode_init(), escape124_decode_init(), ff_cavs_init(), ff_create_schro_frame(), ff_default_get_video_buffer(), ff_ffv1_common_init(), ff_frame_pool_get(), ff_frame_thread_init(), ff_hwframe_map_create(), ff_libwebp_get_frame(), ff_load_image(), ff_mjpeg_decode_init(), ff_mpv_common_init(), ff_mpv_encode_init(), ff_thread_video_encode_frame(), ff_vaapi_encode2(), ff_vp56_init_context(), fic_decode_init(), filter_encode_write_frame(), flashsv_decode_init(), flic_decode_init(), frame_queue_init(), get_free_frame(), get_surface(), gif_decode_init(), gif_encode_frame(), h264_init_context(), hevc_init_context(), hwframe_pool_prealloc(), hwmap_filter_frame(), hwmap_get_buffer(), init(), init_axis_from_file(), init_axis_from_font(), init_frames(), init_input_frame(), init_output_frame(), ipvideo_decode_init(), ir2_decode_init(), lavfi_read_header(), LLVMFuzzerTestOneInput(), main(), mca(), mimic_decode_init(), 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(), mxpeg_decode_init(), nppscale_filter_frame(), nppscale_init(), nvenc_alloc_surface(), pad_last_frame(), paf_video_init(), png_dec_init(), qsv_frame_lock(), qsv_map_from(), qsv_transfer_data_child(), qtrle_decode_init(), qtrle_encode_init(), read_interval_packets(), reap_filters(), reget_buffer_internal(), roq_decode_init(), roq_encode_init(), rpza_decode_init(), rscc_init(), run_test(), screenpresso_init(), seek_test(), sender_thread(), seqvideo_decode_init(), smc_decode_init(), smvjpeg_decode_init(), spawn_empty_frame(), sub2video_prepare(), svq1_decode_init(), svq1_encode_init(), svq3_decode_init(), tdsc_init(), tgv_decode_init(), transfer_data_alloc(), truemotion1_decode_init(), try_decode_frame(), try_decode_video_frame(), try_push_frame(), tscc2_decode_init(), ulti_decode_init(), vaapi_encode_issue(), vaapi_retrieve_data(), vaapi_transfer_data_from(), vaapi_transfer_data_to(), vc1_decode_init(), vdpau_alloc(), video_decode(), video_decode_example(), video_thread(), videotoolbox_init(), vmdvideo_decode_init(), vp8_init_frames(), vp8_lossy_decode_alpha(), vtenc_populate_extradata(), xan_decode_init(), xma_decode_init(), xvid_encode_init(), yop_decode_init(), and zerocodec_decode_init().
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.
frame | frame to be freed. The pointer will be set to NULL. |
Definition at line 163 of file frame.c.
Referenced by aasc_decode_end(), add_to_queue(), alloc_frame(), alloc_frame_empty(), amv_encode_picture(), apng_encode_frame(), apply_lut(), apply_palette(), audio_thread(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), av_frame_clone(), av_hwframe_get_buffer(), avcodec_close(), avcodec_encode_audio2(), avfilter_link_free(), avs_decode_end(), bethsoftvid_decode_end(), blend_frame(), cdg_decode_end(), celt_frame_setup_input(), channelmap_filter_frame(), cinepak_decode_end(), cinepak_encode_end(), cinepak_encode_init(), cinvideo_decode_end(), clear_unused_frames(), close_stream(), clv_decode_end(), cmv_decode_end(), cmv_decode_init(), common_uninit(), compand_delay(), compand_nodelay(), config_output(), config_video(), config_video_output(), configure_filtergraph(), copy_context_reset(), cpia_decode_end(), create_cv_pixel_buffer(), cudaupload_filter_frame(), cuvid_output_frame(), decimate_uninit(), decklink_write_video_packet(), decode_close(), decode_end(), decode_init(), deint_vaapi_filter_frame(), deint_vaapi_pipeline_uninit(), dirac_decode_end(), dirac_decode_init(), do_video_out(), downscale(), dxva2_transfer_data_from(), dxva2_transfer_data_to(), dxva2_uninit(), empty_buffer_done(), encode_apng(), encode_end(), encode_frame(), encode_write_frame(), escape124_decode_close(), ff_bufqueue_add(), ff_bufqueue_discard_all(), ff_cavs_end(), ff_create_schro_frame(), ff_default_get_video_buffer(), ff_ffv1_close(), ff_filter_frame(), ff_filter_frame_framed(), ff_frame_pool_get(), ff_frame_thread_free(), ff_framequeue_free(), ff_framesync_get_frame(), ff_framesync_uninit(), ff_hwframe_map_create(), ff_hwframe_unmap(), ff_inlink_make_frame_writable(), ff_ivi_decode_close(), ff_load_image(), ff_mjpeg_decode_end(), ff_mpv_common_end(), ff_mpv_encode_end(), ff_nvenc_encode_close(), ff_qsv_decode_close(), ff_qsv_enc_close(), ff_snow_common_end(), ff_thread_video_encode_frame(), ff_vc1_decode_end(), ff_vp56_free_context(), ff_vp8_decode_free(), ffmpeg_cleanup(), fic_decode_close(), fic_decode_frame(), fieldmatch_uninit(), filter_encode_write_frame(), filter_frame(), filter_frame16(), filter_frame8(), fixstride(), flashsv_decode_end(), flic_decode_end(), flush(), flush_fifo(), flush_frame(), frame_queue_destory(), framepack_uninit(), framesync_advance(), free_avframe(), free_frame(), free_schro_frame(), geq_filter_frame(), get_best_frame(), get_scene_score(), gif_decode_close(), gif_encode_close(), h264_decode_end(), hevc_decode_free(), hwdownload_filter_frame(), hwframe_pool_prealloc(), hwmap_filter_frame(), hwmap_get_buffer(), hwupload_filter_frame(), if(), ifilter_send_frame(), image_ctx_free(), init_axis_from_file(), init_axis_from_font(), init_frames(), init_output_frame(), inject_frame(), ipvideo_decode_end(), ipvideo_decode_init(), ir2_decode_end(), join_uninit(), lavfi_read_close(), libopenjpeg_encode_frame(), libwebp_anim_encode_close(), libwebp_anim_encode_frame(), libwebp_encode_close(), libwebp_encode_frame(), LLVMFuzzerTestOneInput(), load_encode_and_write(), main(), mimic_decode_end(), mm_decode_end(), movie_push_frame(), mp_decode_end(), msrle_decode_end(), mss1_decode_end(), mss1_decode_init(), mss2_decode_end(), mss3_decode_end(), mss3_decode_init(), mss4_decode_end(), msvideo1_decode_end(), mxpeg_decode_end(), next_source(), nppscale_filter_frame(), nppscale_uninit(), null_filter_frame(), nvenc_alloc_surface(), output_frame(), output_single_frame(), pad_last_frame(), paf_video_close(), plot_freqs(), png_dec_end(), png_dec_init(), png_enc_close(), pp_filter_frame(), process_frame(), qsv_frame_lock(), qsv_frame_unlock(), qsv_map_from(), qsv_transfer_data_child(), qsvdeint_filter_frame(), qsvdeint_uninit(), qsvscale_filter_frame(), qtrle_decode_end(), qtrle_encode_end(), read_decode_convert_and_store(), read_interval_packets(), receiver_thread(), reget_buffer_internal(), decklink_frame::Release(), request_frame(), return_audio_frame(), return_or_keep_frame(), roq_decode_end(), roq_decode_init(), roq_encode_end(), rpza_decode_end(), rscc_close(), run_test(), scale_vaapi_filter_frame(), screenpresso_close(), seek_test(), sender_thread(), seqvideo_decode_end(), shuffleplanes_filter_frame(), smc_decode_end(), smvjpeg_decode_end(), smvjpeg_decode_init(), spawn_empty_frame(), svq1_decode_end(), svq1_encode_end(), svq3_decode_end(), take_samples(), tdsc_close(), tgv_decode_end(), transfer_data_alloc(), truemotion1_decode_end(), truemotion1_decode_init(), try_decode_frame(), try_decode_video_frame(), try_push_frame(), try_push_frames(), tscc2_decode_end(), ulti_decode_end(), uninit(), vaapi_encode_free(), vaapi_encode_issue(), vaapi_encode_wait(), vaapi_retrieve_data(), vaapi_transfer_data_from(), vaapi_transfer_data_to(), vdpau_uninit(), video_decode(), video_decode_example(), video_thread(), videotoolbox_uninit(), vmdvideo_decode_end(), vp3_decode_end(), vp8_lossy_decode_alpha(), vp9_decode_free(), vtenc_populate_extradata(), worker(), wrapped_avframe_encode(), wrapped_avframe_release_buffer(), write_packet(), write_to_fifo(), xan_decode_end(), xma_decode_end(), xvid_encode_init(), yae_clear(), yop_decode_close(), and zerocodec_decode_close().
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.
Definition at line 388 of file frame.c.
Referenced by aasc_decode_frame(), av_buffersrc_add_frame_flags(), av_buffersrc_add_frame_internal(), av_frame_clone(), av_hwframe_map(), avs_decode_frame(), bethsoftvid_decode_frame(), cavs_decode_frame(), cdg_decode_frame(), cinepak_decode_frame(), cinvideo_decode_frame(), clv_decode_frame(), cmv_decode_frame(), cpia_decode_frame(), create_cv_pixel_buffer(), decode_frame(), dirac_decode_frame(), do_video_out(), encode_apng(), encode_frame(), escape124_decode_frame(), ff_h263_decode_frame(), ff_hevc_output_frame(), ff_hwframe_map_create(), ff_mjpeg_decode_frame(), ff_rv34_decode_frame(), ff_thread_ref_frame(), ff_thread_video_encode_frame(), ff_vaapi_encode2(), ff_vp56_decode_frame(), ff_vp56_decode_mbs(), fic_decode_frame(), finish_frame(), flashsv_decode_frame(), flic_decode_frame_15_16BPP(), flic_decode_frame_24BPP(), 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(), mxpeg_decode_frame(), nvenc_upload_frame(), output_frame(), paf_video_decode(), qsv_decode(), qtrle_decode_frame(), qtrle_encode_frame(), return_or_keep_frame(), roq_decode_frame(), rpza_decode_frame(), rscc_decode_frame(), rv10_decode_frame(), screenpresso_decode_frame(), send_frame_to_filters(), seqvideo_decode_frame(), slice_end(), smc_decode_frame(), smvjpeg_decode_frame(), submit_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().
Create a new frame that references the same data as src.
This is a shortcut for av_frame_alloc()+av_frame_ref().
Definition at line 485 of file frame.c.
Referenced by amv_encode_picture(), apply_palette(), create_weave_frame(), decklink_write_video_packet(), ff_framesync_get_frame(), ff_libwebp_get_frame(), ffat_encode(), fic_decode_frame(), filter_frame(), filter_frame16(), filter_frame8(), get_scene_score(), ifilter_send_frame(), init(), libopenjpeg_encode_frame(), omx_encode_frame(), opus_encode_frame(), plot_spectrum_column(), process_frame(), process_work_frame(), request_frame(), return_audio_frame(), and wrapped_avframe_encode().
Unreference all the buffers referenced by frame and reset the frame fields.
Definition at line 498 of file frame.c.
Referenced by aac_decode_frame_int(), audio_get_buffer(), av_frame_free(), av_frame_make_writable(), av_frame_ref(), av_hwframe_map(), avcodec_decode_audio4(), avcodec_decode_video2(), avcodec_flush_buffers(), avcodec_receive_frame(), cavs_decode_frame(), cdg_decode_frame(), clear_unused_frames(), cmv_decode_frame(), cmv_process_header(), codec_reinit(), cuda_get_buffer(), decode_frame(), decode_packet(), decode_pic(), decode_subframe(), decode_video(), dirac_decode_data_unit(), dirac_decode_frame(), do_video_out(), dxva2_retrieve_data(), encode_apng(), encode_frame(), escape124_decode_frame(), execute_code(), 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(), frame_configure_elements(), frame_end(), frame_queue_unref_item(), 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(), ifilter_send_frame(), init_stage(), ipvideo_decode_frame(), lavfi_read_packet(), LLVMFuzzerTestOneInput(), main(), mpeg_decode_frame(), mss2_decode_frame(), mxpeg_decode_frame(), nvenc_upload_frame(), process_output_surface(), qsv_clear_unused_frames(), qtrle_encode_frame(), reap_filters(), reget_buffer_internal(), release_delayed_buffers(), decklink_output_callback::ScheduledFrameCompleted(), select_input_picture(), smvjpeg_decode_frame(), sub2video_get_blank_frame(), submit_frame(), svq1_decode_frame(), svq1_flush(), svq3_decode_frame(), tdsc_decode_jpeg_tile(), tgv_decode_frame(), truemotion1_decode_header(), unrefcount_frame(), vaapi_retrieve_data(), vdpau_retrieve_data(), video_get_buffer(), video_thread(), videotoolbox_retrieve_data(), vmdvideo_decode_frame(), vorbis_decode_frame(), vtenc_populate_extradata(), worker(), xan_decode_frame(), and zerocodec_decode_frame().
Move everything contained in src to dst and reset src.
Definition at line 524 of file frame.c.
Referenced by audio_thread(), av_buffersrc_add_frame_internal(), avcodec_receive_frame(), 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(), nppscale_scale(), queue_picture(), reget_buffer_internal(), return_or_keep_frame(), transfer_data_alloc(), unrefcount_frame(), vaapi_retrieve_data(), vdpau_retrieve_data(), videotoolbox_retrieve_data(), and wrapped_avframe_encode().
Allocate new buffer(s) for audio or video data.
The following fields must be set on frame before calling this function:
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.
frame | frame in which to store the new buffers. |
align | required buffer size alignment |
Definition at line 280 of file frame.c.
Referenced by alloc_audio_frame(), alloc_frame(), alloc_frame_empty(), alloc_picture(), apng_encode_frame(), av_frame_make_writable(), av_frame_ref(), avresample_convert_frame(), config_input(), config_output(), decode_entropy_coded_image(), downscale(), encode_apng(), encode_frame(), ff_libwebp_get_frame(), ff_mpv_encode_init(), get_input(), init_output_frame(), main(), pad_last_frame(), run_test(), sender_thread(), spawn_empty_frame(), sub2video_get_blank_frame(), swr_convert_frame(), tdsc_parse_tdsf(), transfer_data_alloc(), and videotoolbox_retrieve_data().
Check if the frame data is writable.
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).
Definition at line 536 of file frame.c.
Referenced by apply_lut(), av_frame_make_writable(), compand_nodelay(), ff_inlink_make_frame_writable(), filter_frame(), frame_needs_copy(), and reget_buffer_internal().
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.
Definition at line 553 of file frame.c.
Referenced by apply_palette(), ff_framesync_get_frame(), ff_h263_decode_frame(), ff_print_debug_info2(), filter_frame(), filter_frame16(), filter_frame8(), main(), plot_spectrum_column(), and write_audio_frame().
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.
Definition at line 733 of file frame.c.
Referenced by apng_encode_frame(), av_frame_make_writable(), av_frame_ref(), decode_frame(), encode_apng(), encode_frame(), ff_libwebp_get_frame(), filter_frame(), interpolate(), libschroedinger_frame_from_data(), reget_buffer_internal(), roq_decode_frame(), shuffleplanes_filter_frame(), submit_frame(), tdsc_decode_frame(), vaapi_transfer_data_from(), and vaapi_transfer_data_to().
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 596 of file frame.c.
Referenced by apply_lut(), apply_palette(), av_frame_make_writable(), blend_frame(), blend_frames16(), blend_frames8(), compand_delay(), compand_nodelay(), create_weave_frame(), cudaupload_filter_frame(), deint_vaapi_filter_frame(), dxva2_map_from(), dxva2_retrieve_data(), ff_inlink_make_frame_writable(), filter(), filter_frame(), fixstride(), frame_end(), geq_filter_frame(), get_frame(), hwdownload_filter_frame(), hwmap_filter_frame(), hwupload_filter_frame(), load_input_picture(), nppscale_scale(), pad_last_frame(), pp_filter_frame(), process_frame(), qsvscale_filter_frame(), return_frame(), scale_vaapi_filter_frame(), select_input_picture(), shuffleplanes_filter_frame(), take_samples(), try_push_frame(), unrefcount_frame(), vaapi_map_from(), vaapi_retrieve_data(), vdpau_retrieve_data(), and videotoolbox_retrieve_data().
AVBufferRef* av_frame_get_plane_buffer | ( | AVFrame * | frame, |
int | plane | ||
) |
Get the buffer reference a given data plane is stored in.
plane | index of the data plane of interest in frame->extended_data. |
Definition at line 601 of file frame.c.
Referenced by buffer_needs_copy(), and try_push_frame().
AVFrameSideData* av_frame_new_side_data | ( | AVFrame * | frame, |
enum AVFrameSideDataType | type, | ||
int | size | ||
) |
Add a new side data to a frame.
frame | a frame to which the side data should be added |
type | type of the added side data |
size | size of the side data |
Definition at line 667 of file frame.c.
Referenced by av_downmix_info_update_side_data(), av_mastering_display_metadata_create_side_data(), av_stereo3d_create_side_data(), decode_frame(), ff_init_buffer_info(), ff_print_debug_info2(), ff_side_data_update_matrix_encoding(), filter_frame(), frame_copy_props(), h264_export_frame_props(), mpeg_decode_frame(), mpeg_field_start(), and set_side_data().
AVFrameSideData* av_frame_get_side_data | ( | const AVFrame * | frame, |
enum AVFrameSideDataType | type | ||
) |
Definition at line 675 of file frame.c.
Referenced by av_downmix_info_update_side_data(), avcodec_encode_audio2(), decode_packet(), encode_headers(), ff_alloc_a53_sei(), ff_mpeg1_encode_picture_header(), ff_side_data_update_matrix_encoding(), filter_frame(), mpeg1_encode_sequence_header(), reconfig_encoder(), and vtenc_send_frame().
void av_frame_remove_side_data | ( | AVFrame * | frame, |
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 746 of file frame.c.
Referenced by filter_frame().
const char* av_frame_side_data_name | ( | enum AVFrameSideDataType | type | ) |
Definition at line 760 of file frame.c.
Referenced by show_frame().