Add DRM_PRIME Format Handling and Display for RockChip MPP decoders

This commit allows to use the AV_PIX_FMT_DRM_PRIME newly introduced
format in ffmpeg that allows decoders to provide an AVDRMFrameDescriptor
struct.

That struct holds dmabuf fds and information allowing zerocopy rendering
using KMS / DRM Atomic.

This has been tested on RockChip ROCK64 device.
This commit is contained in:
Lionel CHAZALLON
2017-10-23 08:51:49 -07:00
committed by wm4
parent 762b8cc300
commit cfcee4cfe7
20 changed files with 823 additions and 23 deletions

View File

@@ -111,6 +111,7 @@ const struct m_opt_choice_alternatives mp_hwdec_names[] = {
{"d3d11va-copy",HWDEC_D3D11VA_COPY},
{"rpi", HWDEC_RPI},
{"rpi-copy", HWDEC_RPI_COPY},
{"rkmpp", HWDEC_RKMPP},
{"mediacodec", HWDEC_MEDIACODEC},
{"mediacodec-copy",HWDEC_MEDIACODEC_COPY},
{"cuda", HWDEC_CUDA},
@@ -181,6 +182,7 @@ static const m_option_t mp_vo_opt_list[] = {
OPT_STRING_VALIDATE("drm-connector", drm_connector_spec,
0, drm_validate_connector_opt),
OPT_INT("drm-mode", drm_mode_id, 0),
OPT_INT("drm-overlay", drm_overlay_id, 0),
#endif
OPT_STRING_VALIDATE("opengl-hwdec-interop", gl_hwdec_interop, 0,
ra_hwdec_validate_opt),

View File

@@ -57,6 +57,7 @@ typedef struct mp_vo_opts {
// vo_drm
char *drm_connector_spec;
int drm_mode_id;
int drm_overlay_id;
} mp_vo_opts;
struct mp_cache_opts {