FFmpeg  3.2.10
Data Structures | Macros | Enumerations | Functions
stereo3d.h File Reference
#include <stdint.h>
#include "frame.h"

Go to the source code of this file.

Data Structures

struct  AVStereo3D
 Stereo 3D type: this structure describes how two videos are packed within a single video surface, with additional information as needed. More...
 

Macros

#define AV_STEREO3D_FLAG_INVERT   (1 << 0)
 Inverted views, Right/Bottom represents the left view. More...
 

Enumerations

enum  AVStereo3DType {
  AV_STEREO3D_2D, AV_STEREO3D_SIDEBYSIDE, AV_STEREO3D_TOPBOTTOM, AV_STEREO3D_FRAMESEQUENCE,
  AV_STEREO3D_CHECKERBOARD, AV_STEREO3D_SIDEBYSIDE_QUINCUNX, AV_STEREO3D_LINES, AV_STEREO3D_COLUMNS
}
 List of possible 3D Types. More...
 

Functions

AVStereo3Dav_stereo3d_alloc (void)
 Allocate an AVStereo3D structure and set its fields to default values. More...
 
AVStereo3Dav_stereo3d_create_side_data (AVFrame *frame)
 Allocate a complete AVFrameSideData and add it to the frame. More...
 
const char * av_stereo3d_type_name (unsigned int type)
 Provide a human-readable name of a given stereo3d type. More...
 
int av_stereo3d_from_name (const char *name)
 Get the AVStereo3DType form a human-readable name. More...
 

Macro Definition Documentation

◆ AV_STEREO3D_FLAG_INVERT

#define AV_STEREO3D_FLAG_INVERT   (1 << 0)

Inverted views, Right/Bottom represents the left view.

Definition at line 114 of file stereo3d.h.

Enumeration Type Documentation

◆ AVStereo3DType

List of possible 3D Types.

Enumerator
AV_STEREO3D_2D 

Video is not stereoscopic (and metadata has to be there).

AV_STEREO3D_SIDEBYSIDE 

Views are next to each other.

LLLLRRRR LLLLRRRR LLLLRRRR ...

AV_STEREO3D_TOPBOTTOM 

Views are on top of each other.

LLLLLLLL LLLLLLLL RRRRRRRR RRRRRRRR

AV_STEREO3D_FRAMESEQUENCE 

Views are alternated temporally.

frame0 frame1 frame2 ... LLLLLLLL RRRRRRRR LLLLLLLL LLLLLLLL RRRRRRRR LLLLLLLL LLLLLLLL RRRRRRRR LLLLLLLL ... ... ...

AV_STEREO3D_CHECKERBOARD 

Views are packed in a checkerboard-like structure per pixel.

LRLRLRLR RLRLRLRL LRLRLRLR ...

AV_STEREO3D_SIDEBYSIDE_QUINCUNX 

Views are next to each other, but when upscaling apply a checkerboard pattern.

LLLLRRRR L L L L R R R R LLLLRRRR => L L L L R R R R LLLLRRRR L L L L R R R R LLLLRRRR L L L L R R R R

AV_STEREO3D_LINES 

Views are packed per line, as if interlaced.

LLLLLLLL RRRRRRRR LLLLLLLL ...

AV_STEREO3D_COLUMNS 

Views are packed per column.

LRLRLRLR LRLRLRLR LRLRLRLR ...

Definition at line 31 of file stereo3d.h.

Function Documentation

◆ av_stereo3d_alloc()

AVStereo3D* av_stereo3d_alloc ( void  )

Allocate an AVStereo3D structure and set its fields to default values.

The resulting struct can be freed using av_freep().

Returns
An AVStereo3D filled with default values or NULL on failure.

◆ av_stereo3d_create_side_data()

AVStereo3D* av_stereo3d_create_side_data ( AVFrame frame)

Allocate a complete AVFrameSideData and add it to the frame.

Parameters
frameThe frame which side data is added to.
Returns
The AVStereo3D structure to be filled by caller.

◆ av_stereo3d_type_name()

const char* av_stereo3d_type_name ( unsigned int  type)

Provide a human-readable name of a given stereo3d type.

Parameters
typeThe input stereo3d type value.
Returns
The name of the stereo3d value, or "unknown".

◆ av_stereo3d_from_name()

int av_stereo3d_from_name ( const char *  name)

Get the AVStereo3DType form a human-readable name.

Parameters
typeThe input string.
Returns
The AVStereo3DType value, or -1 if not found.