[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <72bce7dc-ceef-cc81-1edb-8034495684ae@linaro.org>
Date: Tue, 25 Sep 2018 12:41:50 +0300
From: Stanimir Varbanov <stanimir.varbanov@...aro.org>
To: Nicolas Dufresne <nicolas@...fresne.ca>,
Stanimir Varbanov <stanimir.varbanov@...aro.org>,
Alexandre Courbot <acourbot@...omium.org>,
Hans Verkuil <hverkuil@...all.nl>
Cc: vgarodia@...eaurora.org,
Linux Media Mailing List <linux-media@...r.kernel.org>,
linux-arm-msm@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] venus: vdec: fix decoded data size
Hi Nicolas,
On 09/19/2018 06:53 PM, Nicolas Dufresne wrote:
> Le mercredi 19 septembre 2018 à 18:02 +0300, Stanimir Varbanov a
> écrit :
>>> --- a/drivers/media/platform/qcom/venus/vdec.c
>>> +++ b/drivers/media/platform/qcom/venus/vdec.c
>>> @@ -943,8 +943,7 @@ static void vdec_buf_done(struct venus_inst
>>> *inst,
>>> unsigned int buf_type,
>>> unsigned int opb_sz =
>>> venus_helper_get_opb_size(inst);
>>>
>>> vb = &vbuf->vb2_buf;
>>> - vb->planes[0].bytesused =
>>> - max_t(unsigned int, opb_sz, bytesused);
>>> + vb2_set_plane_payload(vb, 0, bytesused ? :
>>> opb_sz);
>>> vb->planes[0].data_offset = data_offset;
>>> vb->timestamp = timestamp_us * NSEC_PER_USEC;
>>> vbuf->sequence = inst->sequence_cap++;
>>>
>>> It works fine for me, and should not return 0 more often than it
>>> did
>>> before (i.e. never). In practice I also never see the firmware
>>> reporting a payload of zero on SDM845, but maybe older chips
>>> differ?
>>
>> yes, it looks fine. Let me test it with older versions.
>
> What about removing the allow_zero_bytesused flag on this specific
> queue ? Then you can leave it to 0, and the framework will change it to
> the buffer size.
This is valid only for OUTPUT type buffers, but here we bother for
CAPTURE buffers.
--
regards,
Stan
Powered by blists - more mailing lists