[SKL] hwaccel putimage doesn't check format #7
Description
migrated from Bugzilla #91624
status ASSIGNED severity normal in component intel for ---
Reported in version unspecified on platform Other
Assigned to: PengChen
Original attachment names and IDs:
- jpeg-enc-test.tar.gz (ID 117666)
On 2015-08-13 14:58:41 +0000, VÃctor Jáquez wrote:
Created attachment 117666
test caseRight now gstreamer-vaapi uses vaPutImage for encoding (jpeg encoding in this particular case).
When adding support for other input video formats[1], I just found that the i965_hw_putimage() doesn't handle the case when the surface and the image have different color format.
Looking at i965_sw_putimage(), it does (triggers an error).
In the case of i965_hw_putimage(), as far as I understand, the postprocessor is used for the color conversion, nonetheless the generated jpeg image is corrupted.
I attach a minimal case-test:
$ make run
$ display tulips_uyvy.jpgYou can "fix" the output changing the define SAMEFORMAT to 1
On 2016-04-21 09:29:06 +0000, VÃctor Jáquez wrote:
Comment on attachment 117666
test casefix mime type
On 2016-04-21 09:30:13 +0000, VÃctor Jáquez wrote:
$ wget https://bugs.freedesktop.org/attachment.cgi?id=117666 -O test.tgz
$ tar tf test.tgz
jpeg-enc-test/
jpeg-enc-test/Makefile
jpeg-enc-test/bug.c
jpeg-enc-test/huff.h
jpeg-enc-test/tulips_uyvy422_prog_packed_qcif.yuv
On 2016-12-14 01:00:27 +0000, PengChen wrote:
if (HAS_ACCELERATED_GETIMAGE(i965)) va_status = i965_hw_getimage(ctx, obj_surface, obj_image, &rect); else va_status = i965_sw_getimage(ctx, obj_surface, obj_image, &rect);
above is the latest implementation, if the hardware has VPP, it only select i965_hw_getimage() no mater what the color format it is. and i965_hw_getimage() do support some color formats conversion. if the comment has some mistake or misunderstanding, just feel free to let me know.