1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-26 09:02:38 +00:00

rpi: add --hwdec=rpi-copy

This means it can be used with normal video filters.

Might help out with #3604.
This commit is contained in:
wm4 2016-09-30 11:35:25 +02:00
parent b6920372c2
commit 7e6456f43a
4 changed files with 12 additions and 0 deletions

View File

@ -622,6 +622,7 @@ Video
:d3d11va-copy: copies video back to system RAM (Windows only)
:mediacodec: copies video back to system RAM (Android only)
:rpi: requires ``--vo=opengl`` (Raspberry Pi only - default if available)
:rpi-copy: copies video back to system RAM (Raspberry Pi only)
:cuda: requires ``--vo=opengl`` (Any platform CUDA is available)
:cuda-copy: copies video back to system RAM (Any platform CUDA is available)
@ -707,6 +708,9 @@ Video
to deinterlace inside the decoder. However, traditional deinterlacing
filters can be used in this case.
``rpi`` always uses the hardware overlay renderer, even with
``--vo=opengl``.
All other methods, in particular the copy-back methods (like
``dxva2-copy`` etc.) are either fully safe, or not worse than software
decoding.

View File

@ -98,6 +98,7 @@ const struct m_opt_choice_alternatives mp_hwdec_names[] = {
{"d3d11va", HWDEC_D3D11VA},
{"d3d11va-copy",HWDEC_D3D11VA_COPY},
{"rpi", HWDEC_RPI},
{"rpi-copy", HWDEC_RPI_COPY},
{"mediacodec", HWDEC_MEDIACODEC},
{"cuda", HWDEC_CUDA},
{"cuda-copy", HWDEC_CUDA_COPY},

View File

@ -141,6 +141,11 @@ static const struct vd_lavc_hwdec mp_vd_lavc_rpi = {
.lavc_suffix = "_mmal",
.image_format = IMGFMT_MMAL,
};
static const struct vd_lavc_hwdec mp_vd_lavc_rpi_copy = {
.type = HWDEC_RPI_COPY,
.lavc_suffix = "_mmal",
.copying = true,
};
#endif
#if HAVE_ANDROID
@ -162,6 +167,7 @@ static const struct vd_lavc_hwdec mp_vd_lavc_cuda_copy = {
static const struct vd_lavc_hwdec *const hwdec_list[] = {
#if HAVE_RPI
&mp_vd_lavc_rpi,
&mp_vd_lavc_rpi_copy,
#endif
#if HAVE_VDPAU_HWACCEL
&mp_vd_lavc_vdpau,

View File

@ -20,6 +20,7 @@ enum hwdec_type {
HWDEC_D3D11VA,
HWDEC_D3D11VA_COPY,
HWDEC_RPI,
HWDEC_RPI_COPY,
HWDEC_MEDIACODEC,
HWDEC_CUDA,
HWDEC_CUDA_COPY,