Re: [PATCH v4 0/4] media: meson: vdec: Add compliant H264 support

From: Piotr Oniszczuk
Date: Mon Feb 10 2020 - 05:16:22 EST




> WiadomoÅÄ napisana przez Nicolas Dufresne <nicolas@xxxxxxxxxxxx> w dniu 08.02.2020, o godz. 22:08:
>
> I'm currently running Fedora 31 (Debian unstable should provide the
> same), with the stock GStreamer 1.16.1. And doing playback with:
>
> gst-play-1.0 Videos/bbb_sunflower_1080p_30fps_normal.mp4 --videosink="kmssink" --flags=video
>
> With this player, you can seek with the arrows (left/right), or go back
> to the start using 0 key. When you seek, the streaming stalls. If you
> switch the --videosink to fakevideosink as an example, seeking works
> perfectly, and kernel does not complain anymore. Same if you don't use
> a zero-copy path, like fbdevsink.
>

Nicolas,

Are You using streamer compiled with internal gst FFmpeg?
If so - then IIRC 1.16 gst build-in ffmpeg is at 4.2.1 level and it has missing some ffmpeg master v4l2 commits which are improving amlogic vdec<->ffmpeg cooperation.

Also I personally found adding https://github.com/tmm1/FFmpeg/commit/196bab90a29323722050111e936532ac9ac9bfda makes mythtv on s912/panfrost with DRM_PRIME EGL_LINUX_DMA_BUF_EXPORT working well - at least with H264 bluray content (progressive; probability of stream errors=low).

Playback of TV interlaced content however still has issues on current vdec (5.5.2+Neil's v5 ML patch series): video playback sometimes becomes jumpy.
At this moment I suspect it is because bitstream errors (TV recordings recorded from SAT so stream errors are highly probable) are confusing vdec and vdec hw + ffmpeg v4l2 are not able to deal/recover with thisâ.
(this more demanding error handling is IMHO general attribute of stateful decoders when compared to state-less)

Generally I think vdec error recovery in vdec<->ffmpeg needs be inspected and maybe there is place to improvementâ..