FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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

#define AV_STEREO3D_FLAG_INVERT   (1 << 0)

Enumeration Type Documentation

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

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.

Definition at line 28 of file stereo3d.c.

Referenced by ff_mkv_stereo3d_conv(), and mjpeg_decode_app().

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.

Definition at line 33 of file stereo3d.c.

Referenced by decode_frame_common(), decode_postinit(), ff_mjpeg_decode_frame(), mpeg_field_start(), set_side_data(), and try_push_frame().

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

Definition at line 57 of file stereo3d.c.

Referenced by dump_stereo3d(), and print_pkt_side_data().

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.

Definition at line 65 of file stereo3d.c.