FFmpeg
Data Structures | Macros | Enumerations | Functions
frame.h File Reference
#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  AVRegionOfInterest
 Structure describing a single Region Of Interest. 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
 
#define FF_DECODE_ERROR_CONCEALMENT_ACTIVE   4
 
#define FF_DECODE_ERROR_DECODE_SLICES   8
 

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, AV_FRAME_DATA_S12M_TIMECODE, AV_FRAME_DATA_DYNAMIC_HDR_PLUS,
  AV_FRAME_DATA_REGIONS_OF_INTEREST
}
 
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

Definition at line 296 of file frame.h.

◆ FF_DECODE_ERROR_INVALID_BITSTREAM

#define FF_DECODE_ERROR_INVALID_BITSTREAM   1

Definition at line 591 of file frame.h.

◆ FF_DECODE_ERROR_MISSING_REFERENCE

#define FF_DECODE_ERROR_MISSING_REFERENCE   2

Definition at line 592 of file frame.h.

◆ FF_DECODE_ERROR_CONCEALMENT_ACTIVE

#define FF_DECODE_ERROR_CONCEALMENT_ACTIVE   4

Definition at line 593 of file frame.h.

◆ FF_DECODE_ERROR_DECODE_SLICES

#define FF_DECODE_ERROR_DECODE_SLICES   8

Definition at line 594 of file frame.h.