1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-18 13:14:36 +00:00
mpv/video
wm4 8fff125422 RPI support
This requires FFmpeg git master for accelerated hardware decoding.
Keep in mind that FFmpeg must be compiled with --enable-mmal. Libav
will also work.

Most things work. Screenshots don't work with accelerated/opaque
decoding (except using full window screenshot mode). Subtitles are
very slow - even simple but huge overlays can cause frame drops.

This always uses fullscreen mode. It uses dispmanx and mmal directly,
and there are no window managers or anything on this level.

vo_opengl also kind of works, but is pretty useless and slow. It can't
use opaque hardware decoding (copy back can be used by forcing the
option --vd=lavc:h264_mmal). Keep in mind that the dispmanx backend
is preferred over the X11 ones in case you're trying on X11; but X11
is even more useless on RPI.

This doesn't correctly reject extended h264 profiles and thus doesn't
fallback to software decoding. The hw supports only up to the high
profile, and will e.g. return garbage for Hi10P video.

This sets a precedent of enabling hw decoding by default, but only
if RPI support is compiled (which most hopefully it will be disabled
on desktop Linux platforms). While it's more or less required to use
hw decoding on the weak RPI, it causes more problems than it solves
on real platforms (Linux has the Intel GPU problem, OSX still has
some cases with broken decoding.) So I can live with this compromise
of having different defaults depending on the platform.

Raspberry Pi 2 is required. This wasn't tested on the original RPI,
though at least decoding itself seems to work (but full playback was
not tested).
2015-03-29 16:09:56 +02:00
..
decode RPI support 2015-03-29 16:09:56 +02:00
filter vf_vapoursynth: handle approximate EOF draining 2015-03-25 14:33:20 +01:00
out RPI support 2015-03-29 16:09:56 +02:00
csputils.c vo_opengl: refactor shader generation (part 2) 2015-03-12 23:20:21 +01:00
csputils.h vo_opengl: refactor shader generation (part 2) 2015-03-12 23:20:21 +01:00
fmt-conversion.c RPI support 2015-03-29 16:09:56 +02:00
fmt-conversion.h
hwdec.h RPI support 2015-03-29 16:09:56 +02:00
image_writer.c Remove some FFmpeg/Libav compatibility hacks 2015-03-03 12:28:46 +01:00
image_writer.h Revert "Revert recent vo_opengl related commits" 2015-02-28 20:23:47 +01:00
img_format.c vo_opengl: move minor helper to common code 2015-03-09 22:47:33 +01:00
img_format.h RPI support 2015-03-29 16:09:56 +02:00
img_fourcc.h
mp_image_pool.c mp_image_pool: allow passing pool=NULL in more places 2015-01-22 17:37:40 +01:00
mp_image_pool.h
mp_image.c mp_image: reject 0-sized images 2015-03-23 18:38:19 +01:00
mp_image.h video: uninline memcpy_pic functions 2015-03-20 00:21:23 +01:00
sws_utils.c vf_scale: libswscale is being stupid 2015-03-01 22:32:38 +01:00
sws_utils.h vf_scale: libswscale is being stupid 2015-03-01 22:32:38 +01:00
vaapi.c command: add property returning detected hwdec API 2015-02-02 22:43:13 +01:00
vaapi.h video: have a generic context struct for hwdec backends 2015-01-22 15:32:23 +01:00
vdpau_functions.inc video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vdpau_mixer.c video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00
vdpau_mixer.h
vdpau.c vdpau: remove dead assignment 2015-03-23 18:09:40 +01:00
vdpau.h video: handle hwdec screenshots differently 2015-01-22 18:18:23 +01:00