[vlc-devel] [PATCH] mmal: update the code from the one actually used in Raspbian
Thomas Guillem
thomas at gllm.fr
Thu Jan 16 10:01:45 CET 2020
+1 Steve, and we need a CI for rPI. I think Vlabs can take care of the maintenance...
On Thu, Jan 16, 2020, at 09:52, Steve Lhomme wrote:
> Hi,
>
> On 2020-01-15 18:27, Rémi Denis-Courmont wrote:
> > Le keskiviikkona 15. tammikuuta 2020, 17.46.31 EET Steve Lhomme a écrit :
> >> From: John Cox <jc at kynesim.co.uk>
> >>
> >> Tested with basic video playback on a RPI 3B+
> >>
> >> This is the code from the Raspbian patch ported to the 4.0 architecture.
> >> It includes an OpenGL interop module and some NEON optimizations.
> >
> > I don't think it's appropriate to make a big code dump. That's too hard to
> > review properly.
>
> I could split the code in smaller patches. In the end it will be exactly
> the same amount of code to review, if not more given patches include
> unchanged lines and changes might affect the same lines multiple times.
>
> I already removed a big chunk of the original sources to just pick the
> parts we need to have something working.
>
> > And it's questionable why to merge the code at all. If the author could not be
>
> We have non working MMAL support in master. So either we drop support
> completely or we fix it.
>
> If we decide to keep supporting MMAL (I'm OK to do it) then we should
> (re)start from the code that people actually use in Raspbian, the
> default RPI distribution. This code was also sponsored by Raspberry Pi.
>
> That code is made to work on 3.0.8 but I imported it in 4.0 and modified
> it so it compiles and use the proper new APIs. I started working on a
> decoder device and video context but it's not ready yet.
>
> The old MMAL code we have makes use of the display pool which won't work
> anymore, so we have to do something about it. That's why I wanted to
> clean this code so we can finally remove the last vd->pool in the code.
>
> > bothered to submit it themselves, then there's no reason to believe that it
>
> It's designed for 3.0. Porting decoder/vout code to 4.0 is not an easy
> thing.
>
> > won't immediately bit-rot, and the same problems won't occur again and again.
>
> If we decide to support it I'd like to add a Raspbian target in the
> buildbot so we don't forget to update/break it in the future.
>
> The current status is that we have code, that barely compiles and
> doesn't work. This code is also not used by anyone. Replacing it with
> something else won't make it worse.
>
> >> diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c
> >> index 9b4ea14c31b..ef83ac3b4ad 100644
> >> --- a/src/misc/fourcc.c
> >> +++ b/src/misc/fourcc.c
> >> @@ -816,8 +816,13 @@ static const struct
> >> { { VLC_CODEC_VDPAU_VIDEO_420, VLC_CODEC_VDPAU_VIDEO_422,
> >> VLC_CODEC_VDPAU_VIDEO_444, VLC_CODEC_VDPAU_OUTPUT },
> >> FAKE_FMT() },
> >> - { { VLC_CODEC_ANDROID_OPAQUE, VLC_CODEC_MMAL_OPAQUE,
> >> - VLC_CODEC_D3D9_OPAQUE, VLC_CODEC_D3D11_OPAQUE },
> >> + { { VLC_CODEC_ANDROID_OPAQUE }, FAKE_FMT() },
> >> + { { VLC_CODEC_MMAL_OPAQUE, VLC_CODEC_MMAL_ZC_SAND30 },
> >> + FAKE_FMT() },
> >> + { { VLC_CODEC_MMAL_ZC_I420, VLC_CODEC_MMAL_ZC_SAND8,
> >> + VLC_CODEC_MMAL_ZC_SAND10, VLC_CODEC_MMAL_ZC_RGB32 },
> >> + FAKE_FMT() },
> >> + { { VLC_CODEC_D3D9_OPAQUE, VLC_CODEC_D3D11_OPAQUE },
> >
> > That's a lot of entries for a single piece of hardware. We don't normally
> > expose specific hardware pixel formats.
> >
> >> FAKE_FMT() },
> >> { { VLC_CODEC_D3D11_OPAQUE_10B, VLC_CODEC_D3D9_OPAQUE_10B,
> >> VLC_CODEC_D3D11_OPAQUE_RGBA, VLC_CODEC_D3D11_OPAQUE_BGRA },
> >
> >
> > --
> > Rémi Denis-Courmont
> > http://www.remlab.net/
> >
> >
> >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> >
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list