vaapipostproc crops instead of scale on intel HD3000 if format=i420 set
the follwing example works on newer intel GPUs but not on older models
tested and works on:
- ivy bridge (Intel HD Graphics 4000)
- sky lake (Intel HD Graphics 530)
- kaby lake (Intel HD Graphics 620)
- gemini lake (Intel UHD Graphics 600)
but does not work on:
- sandy bridge (Intel HD Graphics 3000)
gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080 ! vaapipostproc format=i420 width=1024 height=576 ! xvimagesink
if the "format=i420" is removed from the line it also works on the old one.
The issue is that the resulting video is not scalled by vaapipostproc but cropped from the top left corner. If e.g.format=yv12 is set it works like expected on all GPUs.
Even with -vvv gstreamer is not reporting an error or a warning so i assume its not aware that something is wrong. Looking at the debug out one can see that the testsource is providing i420 and if no format is set vaapipostproc defaults to yv12.
I'm actually not sure if the is a gstreamer or libva or intel driver or even a hardware issue and am also not sure how to figure that out ;-)
a) is this a gestreamer bug? b) is there a way to detect of the GPU can do the conversion or not? c) any hints what to read to figure out the limitation of the different GPU generations
All test are done with Ubuntu 19.10 gstreamer 16.1, vainfo: VA-API version: 1.5 (libva 2.5.0)