va: decoders pass rate in fluster
I ran fluster comparing va plugin in gst-plugins-bad vs gstreamer-vaapi
These are the results (iHD):
VA | VAAPI | |
---|---|---|
H264 | 128/135 | 126/135 |
H265 | 120/147 | 142/147 |
VP9 | 150/303 | 216/303 |
VP8 | 55/61 | 57/61 |
Checking the VP9 results I realize that it can be improved disabling image formats. It seems that CSC for decoders is not 100% correct. Something that @He_Junyan told me, but I took it as a compromise for software based conversion in typical use cases as with xvimagesink.
For the sake of the tests, I disabled those extra color and some tests got fixed, but some other tests (with big resolutions) where terribly slow, generating timeouts in fluster. I realized that it was because of derived images. Right now va plugin is quite aggressive using derived images. @haihao warned us about this in the past. So I disabled derived images, and the software-based conversion turned as fast as expected.
Results with default surface format (NV12) and no derived images:
VA | VAAPI | |
---|---|---|
H264 | 129/135 | 126/135 |
H265 | 142/147 | 142/147 |
VP9 | 190/303 | 216/303 |
VP8 | 57/61 | 57/61 |
I would like to have the numbers for i915 driver and amd gallium, but for sake of correctness, using the default color format and disabling derived for frame reading, looks like a "good think".