lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8026c9c0-1345-488f-95db-15797833185c@oss.nxp.com>
Date: Mon, 31 Mar 2025 10:37:02 +0800
From: "Ming Qian(OSS)" <ming.qian@....nxp.com>
To: Frank Li <Frank.li@....com>
Cc: mchehab@...nel.org, hverkuil-cisco@...all.nl, nicolas@...fresne.ca,
 sebastian.fricke@...labora.com, shawnguo@...nel.org, s.hauer@...gutronix.de,
 kernel@...gutronix.de, festevam@...il.com, linux-imx@....com,
 xiahong.bao@....com, eagle.zhou@....com, imx@...ts.linux.dev,
 linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v4 2/2] media: amphion: Add a frame flush mode for decoder

Hi Frank,

On 2025/3/28 22:26, Frank Li wrote:
> On Fri, Mar 28, 2025 at 02:48:17PM +0800, ming.qian@....nxp.com wrote:
>> From: Ming Qian <ming.qian@....nxp.com>
>>
>> By default the amphion decoder will pre-parse 3 frames before starting
>> to decode the first frame. Alternatively, a block of flush padding data
>> can be appended to the frame, which will ensure that the decoder can
>> start decoding immediately after parsing the flush padding data, thus
>> potentially reducing decoding latency.
>>
>> This mode was previously only enabled, when the display delay was set to
>> 0. Allow the user to manually toggle the use of that mode via a module
>> parameter called low_latency, which enables the mode without
>> changing the display order.
>>
>> Signed-off-by: Ming Qian <ming.qian@....nxp.com>
>> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@...labora.com>
>> ---
>> v4
>> - Improve the comment expressing
>> v3
>> - Improve commit message as recommended
>> - Add some comments to avoid code looks cryptic
>>
>>   drivers/media/platform/amphion/vpu_malone.c | 14 +++++++++++++-
>>   1 file changed, 13 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/media/platform/amphion/vpu_malone.c b/drivers/media/platform/amphion/vpu_malone.c
>> index 88f8c16a451e..7f6251f7becb 100644
>> --- a/drivers/media/platform/amphion/vpu_malone.c
>> +++ b/drivers/media/platform/amphion/vpu_malone.c
>> @@ -25,6 +25,10 @@
>>   #include "vpu_imx8q.h"
>>   #include "vpu_malone.h"
>>
>> +static bool low_latency;
>> +module_param(low_latency, bool, 0644);
>> +MODULE_PARM_DESC(low_latency, "Set low latency frame flush mode: 0 (disable) or 1 (enable)");
>> +
> 
> If there are two malone instances, it will impact both instances, is it what
> your expected? Prefer use sys interface to controller it.
> 
> Frank

Yes, that's we expected.
I prefer to say that we use this parameter to adjust the behavior of the
firmware. I thought about enabling this mode by default, but our team
prefers to add a parameter mode, but keep the previous behavior.and then
enable it as needed.

Thanks,
Ming

> 
>>   #define CMD_SIZE			25600
>>   #define MSG_SIZE			25600
>>   #define CODEC_SIZE			0x1000
>> @@ -1581,7 +1585,15 @@ static int vpu_malone_input_frame_data(struct vpu_malone_str_buffer __iomem *str
>>
>>   	vpu_malone_update_wptr(str_buf, wptr);
>>
>> -	if (disp_imm && !vpu_vb_is_codecconfig(vbuf)) {
>> +	/*
>> +	 * Enable the low latency flush mode if display delay is set to 0
>> +	 * or the low latency frame flush mode if it is set to 1.
>> +	 * The low latency flush mode requires some padding data to be appended to each frame,
>> +	 * but there must not be any padding data between the sequence header and the frame.
>> +	 * This module is currently only supported for the H264 and HEVC formats,
>> +	 * for other formats, vpu_malone_add_scode() will return 0.
>> +	 */
>> +	if ((disp_imm || low_latency) && !vpu_vb_is_codecconfig(vbuf)) {
>>   		ret = vpu_malone_add_scode(inst->core->iface,
>>   					   inst->id,
>>   					   &inst->stream_buffer,
>> --
>> 2.43.0-rc1
>>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ