FFmpeg
Loading...
Searching...
No Matches
Data Structures | Macros
hwcontext_rkmpp.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <drm_fourcc.h>
#include <rockchip/rk_mpi.h>
#include "hwcontext_drm.h"

Go to the source code of this file.

Data Structures

struct  AVRKMPPDRMFrameDescriptor
 DRM Prime Frame descriptor for RKMPP HWDevice. More...
 
struct  AVRKMPPFramesContext
 RKMPP-specific data associated with a frame pool. More...
 
struct  AVRKMPPDeviceContext
 RKMPP device details. More...
 

Macros

#define DRM_FORMAT_P010   fourcc_code('P', '0', '1', '0')
 
#define DRM_FORMAT_P210   fourcc_code('P', '2', '1', '0')
 
#define DRM_FORMAT_NV15   fourcc_code('N', 'V', '1', '5')
 
#define DRM_FORMAT_NV20   fourcc_code('N', 'V', '2', '0')
 
#define DRM_FORMAT_YUV420_8BIT   fourcc_code('Y', 'U', '0', '8')
 
#define DRM_FORMAT_YUV420_10BIT   fourcc_code('Y', 'U', '1', '0')
 
#define DRM_FORMAT_Y210   fourcc_code('Y', '2', '1', '0')
 
#define DRM_FORMAT_VUY888   fourcc_code('V', 'U', '2', '4')
 
#define DRM_FORMAT_MOD_VENDOR_ARM   0x08
 
#define DRM_FORMAT_MOD_ARM_TYPE_AFBC   0x00
 
#define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16   (1ULL)
 
#define AFBC_FORMAT_MOD_SPARSE   (1ULL << 6)
 
#define drm_is_afbc(mod)
 
#define DRM_FORMAT_MOD_VENDOR_ROCKCHIP   0x0b
 
#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_SHIFT   52
 
#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_MASK   0xf
 
#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_RFBC   0x1
 
#define ROCKCHIP_RFBC_BLOCK_SIZE_64x4   (1ULL)
 
#define fourcc_mod_code(vendor, val)    ((((__u64)DRM_FORMAT_MOD_VENDOR_## vendor) << 56) | ((val) & 0x00ffffffffffffffULL))
 
#define DRM_FORMAT_MOD_ROCKCHIP_CODE(__type, __val)
 
#define DRM_FORMAT_MOD_ROCKCHIP_RFBC(mode)    DRM_FORMAT_MOD_ROCKCHIP_CODE(DRM_FORMAT_MOD_ROCKCHIP_TYPE_RFBC, mode)
 
#define drm_is_rfbc(mod)
 

Macro Definition Documentation

◆ DRM_FORMAT_P010

#define DRM_FORMAT_P010   fourcc_code('P', '0', '1', '0')

Definition at line 30 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_P210

#define DRM_FORMAT_P210   fourcc_code('P', '2', '1', '0')

Definition at line 33 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_NV15

#define DRM_FORMAT_NV15   fourcc_code('N', 'V', '1', '5')

Definition at line 36 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_NV20

#define DRM_FORMAT_NV20   fourcc_code('N', 'V', '2', '0')

Definition at line 39 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_YUV420_8BIT

#define DRM_FORMAT_YUV420_8BIT   fourcc_code('Y', 'U', '0', '8')

Definition at line 42 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_YUV420_10BIT

#define DRM_FORMAT_YUV420_10BIT   fourcc_code('Y', 'U', '1', '0')

Definition at line 45 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_Y210

#define DRM_FORMAT_Y210   fourcc_code('Y', '2', '1', '0')

Definition at line 48 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_VUY888

#define DRM_FORMAT_VUY888   fourcc_code('V', 'U', '2', '4')

Definition at line 51 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_VENDOR_ARM

#define DRM_FORMAT_MOD_VENDOR_ARM   0x08

Definition at line 56 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_ARM_TYPE_AFBC

#define DRM_FORMAT_MOD_ARM_TYPE_AFBC   0x00

Definition at line 59 of file hwcontext_rkmpp.h.

◆ AFBC_FORMAT_MOD_BLOCK_SIZE_16x16

#define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16   (1ULL)

Definition at line 62 of file hwcontext_rkmpp.h.

◆ AFBC_FORMAT_MOD_SPARSE

#define AFBC_FORMAT_MOD_SPARSE   (1ULL << 6)

Definition at line 65 of file hwcontext_rkmpp.h.

◆ drm_is_afbc

#define drm_is_afbc (   mod)
Value:
((mod >> 52) == (DRM_FORMAT_MOD_ARM_TYPE_AFBC | \
#define DRM_FORMAT_MOD_ARM_TYPE_AFBC
#define DRM_FORMAT_MOD_VENDOR_ARM

Definition at line 68 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_VENDOR_ROCKCHIP

#define DRM_FORMAT_MOD_VENDOR_ROCKCHIP   0x0b

Definition at line 74 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_ROCKCHIP_TYPE_SHIFT

#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_SHIFT   52

Definition at line 76 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_ROCKCHIP_TYPE_MASK

#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_MASK   0xf

Definition at line 78 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_ROCKCHIP_TYPE_RFBC

#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_RFBC   0x1

Definition at line 80 of file hwcontext_rkmpp.h.

◆ ROCKCHIP_RFBC_BLOCK_SIZE_64x4

#define ROCKCHIP_RFBC_BLOCK_SIZE_64x4   (1ULL)

Definition at line 82 of file hwcontext_rkmpp.h.

◆ fourcc_mod_code

#define fourcc_mod_code (   vendor,
  val 
)     ((((__u64)DRM_FORMAT_MOD_VENDOR_## vendor) << 56) | ((val) & 0x00ffffffffffffffULL))

Definition at line 85 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_ROCKCHIP_CODE

#define DRM_FORMAT_MOD_ROCKCHIP_CODE (   __type,
  __val 
)
Value:
fourcc_mod_code(ROCKCHIP, ((__u64)(__type) << DRM_FORMAT_MOD_ROCKCHIP_TYPE_SHIFT) | \
((__val) & 0x000fffffffffffffULL))
#define fourcc_mod_code(vendor, val)
#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_SHIFT

Definition at line 89 of file hwcontext_rkmpp.h.

◆ DRM_FORMAT_MOD_ROCKCHIP_RFBC

#define DRM_FORMAT_MOD_ROCKCHIP_RFBC (   mode)     DRM_FORMAT_MOD_ROCKCHIP_CODE(DRM_FORMAT_MOD_ROCKCHIP_TYPE_RFBC, mode)

Definition at line 94 of file hwcontext_rkmpp.h.

◆ drm_is_rfbc

#define drm_is_rfbc (   mod)
Value:
(((mod >> 56) & 0xff) == DRM_FORMAT_MOD_VENDOR_ROCKCHIP) && \
#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_RFBC
#define DRM_FORMAT_MOD_ROCKCHIP_TYPE_MASK
#define DRM_FORMAT_MOD_VENDOR_ROCKCHIP

Definition at line 97 of file hwcontext_rkmpp.h.