FFmpeg
|
#include "channel_layout.h"
#include "avassert.h"
#include "buffer.h"
#include "common.h"
#include "cpu.h"
#include "dict.h"
#include "frame.h"
#include "imgutils.h"
#include "mem.h"
#include "samplefmt.h"
#include "hwcontext.h"
Go to the source code of this file.
Macros | |
#define | ALIGN (HAVE_SIMD_ALIGN_64 ? 64 : 32) |
Functions | |
static void | get_frame_defaults (AVFrame *frame) |
static void | free_side_data (AVFrameSideData **ptr_sd) |
static void | wipe_side_data (AVFrameSideData ***sd, int *nb_side_data) |
static void | frame_side_data_wipe (AVFrame *frame) |
void | av_frame_side_data_free (AVFrameSideData ***sd, int *nb_sd) |
Free all side data entries and their contents, then zeroes out the values which the pointers are pointing to. More... | |
static void | remove_side_data (AVFrameSideData ***sd, int *nb_side_data, const enum AVFrameSideDataType type) |
static void | remove_side_data_by_entry (AVFrameSideData ***sd, int *nb_sd, const AVFrameSideData *target) |
AVFrame * | av_frame_alloc (void) |
Allocate an AVFrame and set its fields to default values. More... | |
void | av_frame_free (AVFrame **frame) |
Free the frame and any dynamically allocated objects in it, e.g. More... | |
static int | get_video_buffer (AVFrame *frame, int align) |
static int | get_audio_buffer (AVFrame *frame, int align) |
int | av_frame_get_buffer (AVFrame *frame, int align) |
Allocate new buffer(s) for audio or video data. More... | |
static int | frame_copy_props (AVFrame *dst, const AVFrame *src, int force_copy) |
int | av_frame_ref (AVFrame *dst, const AVFrame *src) |
Set up a new reference to the data described by the source frame. More... | |
int | av_frame_replace (AVFrame *dst, const AVFrame *src) |
Ensure the destination frame refers to the same data described by the source frame, either by creating a new reference for each AVBufferRef from src if they differ from those in dst, by allocating new buffers and copying data if src is not reference counted, or by unrefencing it if src is empty. More... | |
AVFrame * | av_frame_clone (const AVFrame *src) |
Create a new frame that references the same data as src. More... | |
void | av_frame_unref (AVFrame *frame) |
Unreference all the buffers referenced by frame and reset the frame fields. More... | |
void | av_frame_move_ref (AVFrame *dst, AVFrame *src) |
Move everything contained in src to dst and reset src. More... | |
int | av_frame_is_writable (AVFrame *frame) |
Check if the frame data is writable. More... | |
int | av_frame_make_writable (AVFrame *frame) |
Ensure that the frame data is writable, avoiding data copy if possible. More... | |
int | av_frame_copy_props (AVFrame *dst, const AVFrame *src) |
Copy only "metadata" fields from src to dst. More... | |
AVBufferRef * | av_frame_get_plane_buffer (const AVFrame *frame, int plane) |
Get the buffer reference a given data plane is stored in. More... | |
static AVFrameSideData * | add_side_data_from_buf_ext (AVFrameSideData ***sd, int *nb_sd, enum AVFrameSideDataType type, AVBufferRef *buf, uint8_t *data, size_t size) |
static AVFrameSideData * | add_side_data_from_buf (AVFrameSideData ***sd, int *nb_sd, enum AVFrameSideDataType type, AVBufferRef *buf) |
AVFrameSideData * | av_frame_new_side_data_from_buf (AVFrame *frame, enum AVFrameSideDataType type, AVBufferRef *buf) |
Add a new side data to a frame from an existing AVBufferRef. More... | |
AVFrameSideData * | av_frame_new_side_data (AVFrame *frame, enum AVFrameSideDataType type, size_t size) |
Add a new side data to a frame. More... | |
static AVFrameSideData * | replace_side_data_from_buf (AVFrameSideData *dst, AVBufferRef *buf, int flags) |
AVFrameSideData * | av_frame_side_data_new (AVFrameSideData ***sd, int *nb_sd, enum AVFrameSideDataType type, size_t size, unsigned int flags) |
Add new side data entry to an array. More... | |
AVFrameSideData * | av_frame_side_data_add (AVFrameSideData ***sd, int *nb_sd, enum AVFrameSideDataType type, AVBufferRef **pbuf, unsigned int flags) |
Add a new side data entry to an array from an existing AVBufferRef. More... | |
int | av_frame_side_data_clone (AVFrameSideData ***sd, int *nb_sd, const AVFrameSideData *src, unsigned int flags) |
Add a new side data entry to an array based on existing side data, taking a reference towards the contained AVBufferRef. More... | |
const AVFrameSideData * | av_frame_side_data_get_c (const AVFrameSideData *const *sd, const int nb_sd, enum AVFrameSideDataType type) |
Get a side data entry of a specific type from an array. More... | |
void | av_frame_side_data_remove (AVFrameSideData ***sd, int *nb_sd, enum AVFrameSideDataType type) |
Remove and free all side data instances of the given type from an array. More... | |
AVFrameSideData * | av_frame_get_side_data (const AVFrame *frame, enum AVFrameSideDataType type) |
static int | frame_copy_video (AVFrame *dst, const AVFrame *src) |
static int | frame_copy_audio (AVFrame *dst, const AVFrame *src) |
int | av_frame_copy (AVFrame *dst, const AVFrame *src) |
Copy the frame data from src to dst. More... | |
void | av_frame_remove_side_data (AVFrame *frame, enum AVFrameSideDataType type) |
Remove and free all side data instances of the given type. More... | |
const AVSideDataDescriptor * | av_frame_side_data_desc (enum AVFrameSideDataType type) |
const char * | av_frame_side_data_name (enum AVFrameSideDataType type) |
static int | calc_cropping_offsets (size_t offsets[4], const AVFrame *frame, const AVPixFmtDescriptor *desc) |
int | av_frame_apply_cropping (AVFrame *frame, int flags) |
Crop the given video AVFrame according to its crop_left/crop_top/crop_right/ crop_bottom fields. More... | |
Variables | |
static const AVSideDataDescriptor | sd_props [] |
|
static |
Definition at line 61 of file frame.c.
Referenced by av_frame_alloc(), av_frame_move_ref(), and av_frame_unref().
|
static |
Definition at line 87 of file frame.c.
Referenced by remove_side_data(), remove_side_data_by_entry(), and wipe_side_data().
|
static |
Definition at line 96 of file frame.c.
Referenced by av_frame_side_data_free(), and frame_side_data_wipe().
|
static |
Definition at line 106 of file frame.c.
Referenced by av_frame_replace(), av_frame_unref(), and frame_copy_props().
|
static |
Definition at line 116 of file frame.c.
Referenced by av_frame_remove_side_data(), av_frame_side_data_add(), av_frame_side_data_clone(), av_frame_side_data_new(), and av_frame_side_data_remove().
|
static |
Definition at line 131 of file frame.c.
Referenced by av_frame_side_data_clone().
Definition at line 171 of file frame.c.
Referenced by av_frame_get_buffer().
Definition at line 240 of file frame.c.
Referenced by av_frame_get_buffer().
Definition at line 304 of file frame.c.
Referenced by av_frame_copy_props(), av_frame_ref(), and av_frame_replace().
|
static |
Definition at line 746 of file frame.c.
Referenced by add_side_data_from_buf(), and av_frame_side_data_clone().
|
static |
Definition at line 777 of file frame.c.
Referenced by av_frame_new_side_data_from_buf(), av_frame_side_data_add(), and av_frame_side_data_new().
|
static |
Definition at line 809 of file frame.c.
Referenced by av_frame_side_data_add(), and av_frame_side_data_new().
Definition at line 958 of file frame.c.
Referenced by av_frame_copy().
Definition at line 981 of file frame.c.
Referenced by av_frame_copy().
|
static |
Definition at line 1034 of file frame.c.
Referenced by av_frame_apply_cropping().
|
static |
Definition at line 31 of file frame.c.
Referenced by av_frame_side_data_desc().