FFmpeg
Classes | Typedefs | Enumerations | Functions
Spherical video mapping

A spherical video file contains surfaces that need to be mapped onto a sphere. More...

Classes

struct  AVSphericalMapping
 This structure describes how to handle spherical videos, outlining information about projection, initial layout, and any other view modifier. More...
 

Typedefs

typedef struct AVSphericalMapping AVSphericalMapping
 This structure describes how to handle spherical videos, outlining information about projection, initial layout, and any other view modifier. More...
 

Enumerations

enum  AVSphericalProjection { AV_SPHERICAL_EQUIRECTANGULAR, AV_SPHERICAL_CUBEMAP, AV_SPHERICAL_EQUIRECTANGULAR_TILE }
 Projection of the video surface(s) on a sphere. More...
 

Functions

AVSphericalMappingav_spherical_alloc (size_t *size)
 Allocate a AVSphericalVideo structure and initialize its fields to default values. More...
 
void av_spherical_tile_bounds (const AVSphericalMapping *map, size_t width, size_t height, size_t *left, size_t *top, size_t *right, size_t *bottom)
 Convert the bounding fields from an AVSphericalVideo from 0.32 fixed point to pixels. More...
 
const char * av_spherical_projection_name (enum AVSphericalProjection projection)
 Provide a human-readable name of a given AVSphericalProjection. More...
 
int av_spherical_from_name (const char *name)
 Get the AVSphericalProjection form a human-readable name. More...
 

Detailed Description

A spherical video file contains surfaces that need to be mapped onto a sphere.

Depending on how the frame was converted, a different distortion transformation or surface recomposition function needs to be applied before the video should be mapped and displayed.

Typedef Documentation

§ AVSphericalMapping

This structure describes how to handle spherical videos, outlining information about projection, initial layout, and any other view modifier.

Note
The struct must be allocated with av_spherical_alloc() and its size is not a part of the public ABI.

Enumeration Type Documentation

§ AVSphericalProjection

Projection of the video surface(s) on a sphere.

Enumerator
AV_SPHERICAL_EQUIRECTANGULAR 

Video represents a sphere mapped on a flat surface using equirectangular projection.

AV_SPHERICAL_CUBEMAP 

Video frame is split into 6 faces of a cube, and arranged on a 3x2 layout.

Faces are oriented upwards for the front, left, right, and back faces. The up face is oriented so the top of the face is forwards and the down face is oriented so the top of the face is to the back.

AV_SPHERICAL_EQUIRECTANGULAR_TILE 

Video represents a portion of a sphere mapped on a flat surface using equirectangular projection.

The bounding fields indicate the position of the current video in a larger surface.

Function Documentation

§ av_spherical_alloc()

AVSphericalMapping* av_spherical_alloc ( size_t *  size)

Allocate a AVSphericalVideo structure and initialize its fields to default values.

Returns
the newly allocated struct or NULL on failure

§ av_spherical_from_name()

int av_spherical_from_name ( const char *  name)

Get the AVSphericalProjection form a human-readable name.

Parameters
nameThe input string.
Returns
The AVSphericalProjection value, or -1 if not found.

§ av_spherical_projection_name()

const char* av_spherical_projection_name ( enum AVSphericalProjection  projection)

Provide a human-readable name of a given AVSphericalProjection.

Parameters
projectionThe input AVSphericalProjection.
Returns
The name of the AVSphericalProjection, or "unknown".

§ av_spherical_tile_bounds()

void av_spherical_tile_bounds ( const AVSphericalMapping map,
size_t  width,
size_t  height,
size_t *  left,
size_t *  top,
size_t *  right,
size_t *  bottom 
)

Convert the bounding fields from an AVSphericalVideo from 0.32 fixed point to pixels.

Parameters
mapThe AVSphericalVideo map to read bound values from.
widthWidth of the current frame or stream.
heightHeight of the current frame or stream.
leftPixels from the left edge.
topPixels from the top edge.
rightPixels from the right edge.
bottomPixels from the bottom edge.