FFmpeg
Classes | Typedefs | Enumerations
hwcontext_drm.h File Reference

API-specific header for AV_HWDEVICE_TYPE_DRM. More...

#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  AVDRMObjectDescriptor
 DRM object descriptor. More...
 
struct  AVDRMPlaneDescriptor
 DRM plane descriptor. More...
 
struct  AVDRMLayerDescriptor
 DRM layer descriptor. More...
 
struct  AVDRMFrameDescriptor
 DRM frame descriptor. More...
 
struct  AVDRMDeviceContext
 DRM device. More...
 

Typedefs

typedef struct AVDRMObjectDescriptor AVDRMObjectDescriptor
 DRM object descriptor. More...
 
typedef struct AVDRMPlaneDescriptor AVDRMPlaneDescriptor
 DRM plane descriptor. More...
 
typedef struct AVDRMLayerDescriptor AVDRMLayerDescriptor
 DRM layer descriptor. More...
 
typedef struct AVDRMFrameDescriptor AVDRMFrameDescriptor
 DRM frame descriptor. More...
 
typedef struct AVDRMDeviceContext AVDRMDeviceContext
 DRM device. More...
 

Enumerations

enum  { AV_DRM_MAX_PLANES = 4 }
 

Detailed Description

API-specific header for AV_HWDEVICE_TYPE_DRM.

Internal frame allocation is not currently supported - all frames must be allocated by the user. Thus AVHWFramesContext is always NULL, though this may change if support for frame allocation is added in future.

Typedef Documentation

§ AVDRMDeviceContext

DRM device.

Allocated as AVHWDeviceContext.hwctx.

§ AVDRMFrameDescriptor

DRM frame descriptor.

This is used as the data pointer for AV_PIX_FMT_DRM_PRIME frames. It is also used by user-allocated frame pools - allocating in AVHWFramesContext.pool must return AVBufferRefs which contain an object of this type.

The fields of this structure should be set such it can be imported directly by EGL using the EGL_EXT_image_dma_buf_import and EGL_EXT_image_dma_buf_import_modifiers extensions. (Note that the exact layout of a particular format may vary between platforms - we only specify that the same platform should be able to import it.)

The total number of planes must not exceed AV_DRM_MAX_PLANES, and the order of the planes by increasing layer index followed by increasing plane index must be the same as the order which would be used for the data pointers in the equivalent software format.

§ AVDRMLayerDescriptor

DRM layer descriptor.

Describes a single layer within a frame. This has the structure defined by its format, and will contain one or more planes.

§ AVDRMObjectDescriptor

DRM object descriptor.

Describes a single DRM object, addressing it as a PRIME file descriptor.

§ AVDRMPlaneDescriptor

DRM plane descriptor.

Describes a single plane of a layer, which is contained within a single object.

Enumeration Type Documentation

§ anonymous enum

anonymous enum
Enumerator
AV_DRM_MAX_PLANES 

The maximum number of layers/planes in a DRM frame.