GStreamer
Test Plan for GStreamer
Video Codecs
Find/utilize some test content for each codec. Fluster is one reliable source of test content. The more the better. Running thumbnailing software is often a quick check.
For each file, play it with the default media player and ensure it looks "ok". Also play it with GST_DEBUG=*:1 gst-play-1.0 and ensure nothing bad happens.
Some codecs will require modifications to a clean install. Such cases will be highlighted below.
Hardware configuration entails the set of tests to perform. Decide now if you are on testing Intel, AMD, NVIDIA.
VP8
Try vp8_variable_resolution.webm
This is a very weird file, but it should play for a few seconds, and show frames of varying resolutions. There should be a women with slider bars next to her visible.
As a royalty free codec, VP8 test files should play on a fresh installation.
AV1
At the time of writing, AV1 decoders are still being shipped only in the -bad plugin set. This should be fixed since there's no reason not to support AV1 out of the box.
Open Schiddler7.mkv-aom-q-28-1920-1080-P3.mkv in the default media player and ensure the codec installation wizard works, and that subsequently the media plays properly.
Rationale: AV1 aligns well with Ubuntu philosophy, we should support that as standard. The input files cover the majority of AV1 coding tools, especially film grain. Decoder see (see Fluster below) cover more.
H.264
Open Big_Buck_Bunny_720_10s_30MB.mp4 in the default media player and ensure the codec installation wizard works, and that subsequently the media plays properly.
- Ensure the files plays out correctly for the 10 seconds - Run whatever is the default media player from the CLI. Ensure no
- warnings / errors are printed
Rationale: H.264 is ubiquitous. It must be default available or very easily installable for UX.
See: https://bugs.launchpad.net/ubuntu/+source/totem/+bug/2121434
H.265
Open 4K HEVC 59.940 Broadcast Capture Sample.mkv in the default media player and ensure the codec installation wizard works, and that subsequently the media plays properly.
Rationale: H.265 is also very popular, but very patent encumbered.
Hardware acceleration
Intel/AMD,
gst-launch-1.0 filesrc location=h264_high_yuv420p_720p.mp4 ! qtdemux ! h264parse ! vah264dec ! videoconvert ! autovideosink
gst-launch-1.0 filesrc location='4K HEVC 59.940 Broadcast Capture Sample.mkv' ! matroskademux ! h265parse ! vah265dec ! videoconvert ! autovideosink
NVIDIA,
gst-launch-1.0 filesrc location='4K HEVC 59.940 Broadcast Capture Sample.mkv' ! matroskademux ! h265parse ! vdpauh265dec ! vdpauvideopostprocess ! autovideosink
Intel,
gst-launch-1.0 filesrc location=h265_Main10_yuv420p10le_4K.mkv ! matroskademux ! h265parse ! msdkh265dec ! videoconvert ! autovideosink
TODO: Vulkan
Fluster
Fluster is a decoder conformance test-suite. At the time of writing, the full test database requires 14GB of space and takes many hours to run. Due to driver instability, there will also be many crashes, meaning automation is very challenging.
Instead, a cut-down version of the test-suite is prepared. Run the following script and ensure nothing catches fire.