Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

[SKL] hwaccel putimage doesn't check format #7

Open
@seanvk

Description

@seanvk

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:

On 2015-08-13 14:58:41 +0000, Víctor Jáquez wrote:

Created attachment 117666
test case

Right 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.jpg

You can "fix" the output changing the define SAMEFORMAT to 1

  1. https://bugzilla.gnome.org/show_bug.cgi?id=744042

On 2016-04-21 09:29:06 +0000, Víctor Jáquez wrote:

Comment on attachment 117666
test case

fix 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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions