FFmpeg
Data Structures | Macros | Enumerations | Functions
frame.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "avutil.h"
#include "buffer.h"
#include "channel_layout.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_S12M_TIMECODE, AV_FRAME_DATA_DYNAMIC_HDR_PLUS, AV_FRAME_DATA_REGIONS_OF_INTEREST, AV_FRAME_DATA_VIDEO_ENC_PARAMS,
  AV_FRAME_DATA_SEI_UNREGISTERED, AV_FRAME_DATA_FILM_GRAIN_PARAMS, AV_FRAME_DATA_DETECTION_BBOXES, AV_FRAME_DATA_DOVI_RPU_BUFFER,
  AV_FRAME_DATA_DOVI_METADATA, AV_FRAME_DATA_DYNAMIC_HDR_VIVID, AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT
}
 
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

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, size_t 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)
 Remove and free all side data instances of the given type. 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 331 of file frame.h.

◆ FF_DECODE_ERROR_INVALID_BITSTREAM

#define FF_DECODE_ERROR_INVALID_BITSTREAM   1

Definition at line 649 of file frame.h.

◆ FF_DECODE_ERROR_MISSING_REFERENCE

#define FF_DECODE_ERROR_MISSING_REFERENCE   2

Definition at line 650 of file frame.h.

◆ FF_DECODE_ERROR_CONCEALMENT_ACTIVE

#define FF_DECODE_ERROR_CONCEALMENT_ACTIVE   4

Definition at line 651 of file frame.h.

◆ FF_DECODE_ERROR_DECODE_SLICES

#define FF_DECODE_ERROR_DECODE_SLICES   8

Definition at line 652 of file frame.h.