FFmpeg
Macros | Functions
frame.c File Reference
#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 "side_data.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)
 
AVFrameav_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...
 
AVFrameav_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...
 
AVBufferRefav_frame_get_plane_buffer (const AVFrame *frame, int plane)
 Get the buffer reference a given data plane is stored in. More...
 
AVFrameSideDataav_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...
 
AVFrameSideDataav_frame_new_side_data (AVFrame *frame, enum AVFrameSideDataType type, size_t size)
 Add a new side data to a frame. More...
 
AVFrameSideDataav_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...
 
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...
 

Macro Definition Documentation

◆ ALIGN

#define ALIGN   (HAVE_SIMD_ALIGN_64 ? 64 : 32)

Definition at line 79 of file frame.c.

Function Documentation

◆ get_frame_defaults()

static void get_frame_defaults ( AVFrame frame)
static

Definition at line 32 of file frame.c.

Referenced by av_frame_alloc(), av_frame_move_ref(), and av_frame_unref().

◆ get_video_buffer()

static int get_video_buffer ( AVFrame frame,
int  align 
)
static

Definition at line 81 of file frame.c.

Referenced by av_frame_get_buffer().

◆ get_audio_buffer()

static int get_audio_buffer ( AVFrame frame,
int  align 
)
static

Definition at line 152 of file frame.c.

Referenced by av_frame_get_buffer().

◆ frame_copy_props()

static int frame_copy_props ( AVFrame dst,
const AVFrame src,
int  force_copy 
)
static

Definition at line 226 of file frame.c.

Referenced by av_frame_copy_props(), av_frame_ref(), and av_frame_replace().

◆ frame_copy_video()

static int frame_copy_video ( AVFrame dst,
const AVFrame src 
)
static

Definition at line 702 of file frame.c.

Referenced by av_frame_copy().

◆ frame_copy_audio()

static int frame_copy_audio ( AVFrame dst,
const AVFrame src 
)
static

Definition at line 725 of file frame.c.

Referenced by av_frame_copy().

◆ calc_cropping_offsets()

static int calc_cropping_offsets ( size_t  offsets[4],
const AVFrame frame,
const AVPixFmtDescriptor desc 
)
static

Definition at line 764 of file frame.c.

Referenced by av_frame_apply_cropping().