REPRODUCIBILITY: 100%
OS VERSION: 4.4.0.68
HARDWARE: Xperia 10 II
UI LANGUAGE: Czech
REGRESSION: No
DESCRIPTION:
I discover that some video files cannot be played in Sailfish OS. Moreover, Gallery app freeze after try to play them. During my investigation, I find out that difference is in pixel format. When pixel format yuv420p is used, video is played properly. Not sure if this issue is caused by old libx264 or it is limitation of Xperia 10.II hardware…
I’ve been updating a bunch off ffmpeg commands (Videoworks) and noted that libx264 requires additional libs (from lpr on openrepos, I believe?). If i recompress on device with, say, mpeg4 as codec, yuvj422p is automatically removed and yuv420p is automatically selected.
The exact message, when trying to encode on the phone:
Incompatible pixel format 'yuvj422p' for codec 'mpeg4', auto-selecting format 'yuv420p'
[swscaler @ 0x32f91f90] deprecated pixel format used, make sure you did set range correctly
same here on my Jolla1 running SFOS 3.4
encoding on the phone works (you’ll need libx264 + ffmpeg(x264-enabled in build-options))
but in any videoplayer using gstreamer, the app freezes when trying to play the yuvj422p.mp4 file.
It seems the gstreamer1.0-droid library is not signalling correctly that it cannot handle yuvj422p with the phones mp4 hardware codec…
My version of ffmpeg with fully enabled h264 decoders and enabled ffplay can play the file without freeze/error via software decoder.
I installed from Storeman/categories/libraries, there i searched for ffmpeg using the search potion (pull down menu).
In the search results I found ‘dav1d’ (30.5.22) and ‘libmodplug’ (2.6.22) contributed by you and not installed on my X10. So I installed it.
but jollas ffmpeg packages cannot make use of them. You have to build your own ffmpeg packages (you’ll need devel-packages and build-switches too) to make use of it.
btw: dav1d gives you AV1 decoding support and libmodplug mod-file support, but this is completely off topic here?!