FFmpeg  4.0
Data Structures | Macros | Enumerations | Functions
frame.h File Reference

reference-counted frame API More...

#include <stddef.h>
#include <stdint.h>
#include "avutil.h"
#include "buffer.h"
#include "dict.h"
#include "rational.h"
#include "samplefmt.h"
#include "pixfmt.h"
#include "version.h"

Go to the source code of this file.

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...
 

Macros

#define AV_NUM_DATA_POINTERS   8
 
#define AV_FRAME_FLAG_CORRUPT   (1 << 0)
 The frame data may be corrupted, e.g. More...
 
#define AV_FRAME_FLAG_DISCARD   (1 << 2)
 A flag to mark the frames which need to be decoded, but shouldn't be output. More...
 
#define FF_DECODE_ERROR_INVALID_BITSTREAM   1
 
#define FF_DECODE_ERROR_MISSING_REFERENCE   2
 

Enumerations

enum  AVFrameSideDataType {
  AV_FRAME_DATA_PANSCAN, AV_FRAME_DATA_A53_CC, AV_FRAME_DATA_STEREO3D, AV_FRAME_DATA_MATRIXENCODING,
  AV_FRAME_DATA_DOWNMIX_INFO, AV_FRAME_DATA_REPLAYGAIN, AV_FRAME_DATA_DISPLAYMATRIX, AV_FRAME_DATA_AFD,
  AV_FRAME_DATA_MOTION_VECTORS, AV_FRAME_DATA_SKIP_SAMPLES, AV_FRAME_DATA_AUDIO_SERVICE_TYPE, AV_FRAME_DATA_MASTERING_DISPLAY_METADATA,
  AV_FRAME_DATA_GOP_TIMECODE, AV_FRAME_DATA_SPHERICAL, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL, AV_FRAME_DATA_ICC_PROFILE,
  AV_FRAME_DATA_QP_TABLE_PROPERTIES, AV_FRAME_DATA_QP_TABLE_DATA
}
 
enum  AVActiveFormatDescription {
  AV_AFD_SAME = 8, AV_AFD_4_3 = 9, AV_AFD_16_9 = 10, AV_AFD_14_9 = 11,
  AV_AFD_4_3_SP_14_9 = 13, AV_AFD_16_9_SP_14_9 = 14, AV_AFD_SP_4_3 = 15
}
 
enum  { AV_FRAME_CROP_UNALIGNED = 1 << 0 }
 Flags for frame cropping. More...
 

Functions

attribute_deprecated int64_t av_frame_get_best_effort_timestamp (const AVFrame *frame)
 Accessors for some AVFrame fields. More...
 
attribute_deprecated void av_frame_set_best_effort_timestamp (AVFrame *frame, int64_t val)
 
attribute_deprecated int64_t av_frame_get_pkt_duration (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_pkt_duration (AVFrame *frame, int64_t val)
 
attribute_deprecated int64_t av_frame_get_pkt_pos (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_pkt_pos (AVFrame *frame, int64_t val)
 
attribute_deprecated int64_t av_frame_get_channel_layout (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_channel_layout (AVFrame *frame, int64_t val)
 
attribute_deprecated int av_frame_get_channels (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_channels (AVFrame *frame, int val)
 
attribute_deprecated int av_frame_get_sample_rate (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_sample_rate (AVFrame *frame, int val)
 
attribute_deprecated AVDictionaryav_frame_get_metadata (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_metadata (AVFrame *frame, AVDictionary *val)
 
attribute_deprecated int av_frame_get_decode_error_flags (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_decode_error_flags (AVFrame *frame, int val)
 
attribute_deprecated int av_frame_get_pkt_size (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_pkt_size (AVFrame *frame, int val)
 
attribute_deprecated int8_t * av_frame_get_qp_table (AVFrame *f, int *stride, int *type)
 
attribute_deprecated int av_frame_set_qp_table (AVFrame *f, AVBufferRef *buf, int stride, int type)
 
attribute_deprecated enum AVColorSpace av_frame_get_colorspace (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_colorspace (AVFrame *frame, enum AVColorSpace val)
 
attribute_deprecated enum AVColorRange av_frame_get_color_range (const AVFrame *frame)
 
attribute_deprecated void av_frame_set_color_range (AVFrame *frame, enum AVColorRange val)
 
const char * av_get_colorspace_name (enum AVColorSpace val)
 Get the name of a colorspace. More...
 
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...
 
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_get_buffer (AVFrame *frame, int align)
 Allocate new buffer(s) for audio or video data. 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 (AVFrame *dst, const AVFrame *src)
 Copy the frame data from src to dst. 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_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_get_side_data (const AVFrame *frame, enum AVFrameSideDataType type)
 
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...
 
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...
 
const char * av_frame_side_data_name (enum AVFrameSideDataType type)
 

Detailed Description

reference-counted frame API

Definition in file frame.h.

Macro Definition Documentation

◆ AV_NUM_DATA_POINTERS

#define AV_NUM_DATA_POINTERS   8

◆ FF_DECODE_ERROR_INVALID_BITSTREAM

#define FF_DECODE_ERROR_INVALID_BITSTREAM   1

◆ FF_DECODE_ERROR_MISSING_REFERENCE

#define FF_DECODE_ERROR_MISSING_REFERENCE   2

Definition at line 516 of file frame.h.