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

Macro Definition Documentation

#define AV_STEREO3D_FLAG_INVERT   (1 << 0)

Inverted views, Right/Bottom represents the left view.

Definition at line 114 of file stereo3d.h.

Referenced by decode_postinit(), dump_stereo3d(), ff_mkv_stereo3d_conv(), mjpeg_decode_app(), mkv_write_stereo_mode(), and set_side_data().

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 27 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 32 of file stereo3d.c.

Referenced by decode_postinit(), ff_mjpeg_decode_frame(), mpeg_field_start(), request_frame(), and set_side_data().