New issue
Advanced search Search tips

Issue 899171 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

s5p-mfc: Fail to encode NV12 input buffers without V4L2 ImageProcessor

Project Member Reported by hiroh@chromium.org, Oct 26

Issue description

I420 pixel format is being used for testing video encoding.
From the driver code, s5p-mfc (exynos 5250) doesn't support I420.
Therefore, it will convert the format to I420 with V4L2 IP.

https://chromium.googlesource.com/chromiumos/third_party/kernel/+/63339c90a50443b7c2473c8a67ae26bccead58e3/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c#35

Recently, I added NV12 input test case, crrev.com/c/1276326.
Then, s5p-mfc fails in the test case [1], even though it supports NV12.

That means, s5p-mfc can encode NV12 input buffers which is converted and output by V4L2IP, but cannot do directly input NV12 input buffer without conversion by V4L2IP.

There can be some causes, some size alignment which is enforced by the IP at its output, but fails if s5p-mfc is used directly.

tfiga@, could you triage this issue? Thanks!

[1] NOTE: it backed green because I disabled the test case on s5p-mfc.
https://stainless.corp.google.com/search?view=matrix&row=board&col=build&first_date=2018-10-20&last_date=2018-10-26&test=video_VideoEncodeAccelerator.h264.bvt&board=daisy&exclude_cts=false&exclude_not_run=false&exclude_non_release=false&exclude_au=true&exclude_acts=true&exclude_retried=true&exclude_non_production=false
 
Components: OS>Kernel>Video
Labels: media-kernel-shortlist OS-Chrome
Status: Assigned (was: Untriaged)
May this be blocker to introduce libyuvIP (crrev.com/c/1090699, b/73752373)?
After the change, V4L2VEA always converts I420 to NV12 by libyuvIP.
Hmm, we don't want to use libyuvIP on a system which has a hardware IP. For s5p-mfc, V4L2VEA would use the V4L2IP currently. Why would it suddenly stop using it?
Labels: media-kernel-fbuergisser
Hiro, did you inspect v4l2_format struct S_FMT replied? In my experience, buffer layout is important to make VEA works. The input layout must be the same as what S_FMT replies.

Sign in to add a comment