Loading...
Searching...
No Matches
Spherical video mapping
libavutil » Video related

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

## Files

file | spherical.h
| Spherical video.

## Data Structures

struct | 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 , AV_SPHERICAL_HALF_EQUIRECTANGULAR , AV_SPHERICAL_RECTILINEAR , AV_SPHERICAL_FISHEYE }
| Projection of the video surface(s) on a sphere. More...

## Functions

AVSphericalMapping * | av_spherical_alloc (size_t *size)
| Allocate a AVSphericalVideo structure and initialize its fields to default values.
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.
const char * | av_spherical_projection_name (enum AVSphericalProjection projection)
| Provide a human-readable name of a given AVSphericalProjection.
int | av_spherical_from_name (const char *name)
| Get the AVSphericalProjection form a human-readable name.

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

## Enumeration Type Documentation

## AVSphericalProjection

enum 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.
AV_SPHERICAL_HALF_EQUIRECTANGULAR | Video frame displays as a 180 degree equirectangular projection.
AV_SPHERICAL_RECTILINEAR | Video frame displays on a flat, rectangular 2D surface.
AV_SPHERICAL_FISHEYE | Fisheye projection (Apple). See: https://developer.apple.com/documentation/coremedia/cmprojectiontype/fisheye

Definition at line 47 of file spherical.h.

## 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_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

  map | The AVSphericalVideo map to read bound values from.
  width | Width of the current frame or stream.
  height | Height of the current frame or stream.
  left | Pixels from the left edge.
  top | Pixels from the top edge.
  right | Pixels from the right edge.
  bottom | Pixels from the bottom edge.

## av_spherical_projection_name()

const char * av_spherical_projection_name | ( | enum AVSphericalProjection | projection | ) |

Provide a human-readable name of a given AVSphericalProjection.

Parameters

  projection | The input AVSphericalProjection.

Returns
  The name of the AVSphericalProjection, or "unknown".

## av_spherical_from_name()

int av_spherical_from_name | ( | const char * | name | ) |

Get the AVSphericalProjection form a human-readable name.

Parameters

  name | The input string.

Returns
  The AVSphericalProjection value, or -1 if not found.