Re: [PATCH v7 5/9] media: venus: vdec: add video decoder files

From: Stanimir Varbanov
Date: Sat Mar 25 2017 - 19:15:44 EST


Hi,

On 24.03.2017 20:21, Nicolas Dufresne wrote:
Le vendredi 24 mars 2017 Ã 15:41 +0100, Hans Verkuil a Ãcrit :
+static const struct venus_format vdec_formats[] = {
+ {
+ .pixfmt = V4L2_PIX_FMT_NV12,
+ .num_planes = 1,
+ .type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE,

Just curious: is NV12 the only uncompressed format supported by the
hardware?
Or just the only one that is implemented here?

yes, at least to my knowledge (except below UBWC).


The downstream kernel[0], from Qualcomm have:

{
.name = "UBWC YCbCr Semiplanar 4:2:0",
.description = "UBWC Y/CbCr 4:2:0",
.fourcc = V4L2_PIX_FMT_NV12_UBWC,
.num_planes = 2,
.get_frame_size = get_frame_size_nv12_ubwc,
.type = CAPTURE_PORT,
},
{
.name = "UBWC YCbCr Semiplanar 4:2:0 10bit",
.description = "UBWC Y/CbCr 4:2:0 10bit",
.fourcc = V4L2_PIX_FMT_NV12_TP10_UBWC,
.num_planes = 2,
.get_frame_size = get_frame_size_nv12_ubwc_10bit,
.type = CAPTURE_PORT,
},

I have no idea what UBWC stands for. The performance in NV12 is more
then decent from my testing. Though, there is no 10bit variant.

UBWC is some kind of compressed format for NV12 [1]. This format is applicable for the newer venus hardware revisions and I planed to add it later on (when Adreno GPU driver starts handle it).

regards,
Stan

[1] https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/include/media/msm_media_info.h#151