FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
frame.c File Reference
#include "channel_layout.h"
#include "avassert.h"
#include "buffer.h"
#include "common.h"
#include "dict.h"
#include "frame.h"
#include "imgutils.h"
#include "mem.h"
#include "samplefmt.h"

Go to the source code of this file.

Macros

#define CHECK_CHANNELS_CONSISTENCY(frame)
 

Functions

static AVFrameSideDataframe_new_side_data (AVFrame *frame, enum AVFrameSideDataType type, AVBufferRef *buf)
 
AVDictionary ** avpriv_frame_get_metadatap (AVFrame *frame)
 
int av_frame_set_qp_table (AVFrame *f, AVBufferRef *buf, int stride, int qp_type)
 
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. More...
 
static void get_frame_defaults (AVFrame *frame)
 
static void free_side_data (AVFrameSideData **ptr_sd)
 
static void wipe_side_data (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...
 
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 (AVFrame *frame, int plane)
 Get the buffer reference a given data plane is stored in. More...
 
AVFrameSideDataav_frame_new_side_data (AVFrame *frame, enum AVFrameSideDataType type, int 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)
 If side data of the supplied type exists in the frame, free it and remove it from the frame. More...
 
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...
 

Macro Definition Documentation

#define CHECK_CHANNELS_CONSISTENCY (   frame)
Value:
av_assert2(!(frame)->channel_layout || \
(frame)->channels == \
int av_get_channel_layout_nb_channels(uint64_t channel_layout)
Return the number of channels in the channel layout.
#define av_assert2(cond)
assert() equivalent, that does lie in speed critical code.
Definition: avassert.h:64
static AVFrame * frame

Definition at line 46 of file frame.c.

Referenced by av_frame_get_plane_buffer(), av_frame_ref(), frame_copy_audio(), and get_audio_buffer().

Function Documentation

static AVFrameSideData * frame_new_side_data ( AVFrame frame,
enum AVFrameSideDataType  type,
AVBufferRef buf 
)
static

Definition at line 639 of file frame.c.

Referenced by av_frame_new_side_data(), and frame_copy_props().

static void get_frame_defaults ( AVFrame frame)
static

Definition at line 99 of file frame.c.

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

static void free_side_data ( AVFrameSideData **  ptr_sd)
static

Definition at line 129 of file frame.c.

Referenced by av_frame_remove_side_data(), and wipe_side_data().

static void wipe_side_data ( AVFrame frame)
static

Definition at line 138 of file frame.c.

Referenced by av_frame_unref(), and frame_copy_props().

static int get_video_buffer ( AVFrame frame,
int  align 
)
static

Definition at line 172 of file frame.c.

Referenced by av_frame_get_buffer().

static int get_audio_buffer ( AVFrame frame,
int  align 
)
static

Definition at line 227 of file frame.c.

Referenced by av_frame_get_buffer().

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

Definition at line 296 of file frame.c.

Referenced by av_frame_copy_props(), and av_frame_ref().

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

Definition at line 694 of file frame.c.

Referenced by av_frame_copy().

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

Definition at line 716 of file frame.c.

Referenced by av_frame_copy().

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

Definition at line 789 of file frame.c.

Referenced by av_frame_apply_cropping().