From patchwork Thu Jan 17 16:19:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stanimir Varbanov X-Patchwork-Id: 155835 Delivered-To: patch@linaro.org Received: by 2002:a02:48:0:0:0:0:0 with SMTP id 69csp2158316jaa; Thu, 17 Jan 2019 08:20:49 -0800 (PST) X-Google-Smtp-Source: ALg8bN7Zwh4GIwP2TVuAYDjiZDdoze0Dn4+8DwWTefm1oWVUO0+QRhtUsXAVeohK7gKbcijCDwjE X-Received: by 2002:a17:902:9305:: with SMTP id bc5mr15447153plb.86.1547742049344; Thu, 17 Jan 2019 08:20:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547742049; cv=none; d=google.com; s=arc-20160816; b=xbqbJQvxoof8kTs9Y7hnVP178y/KUwHA1F/o6I/Ob0neQG52i4ghQ29Ajo/Vn75vn8 AVNUumoTdBgiSBv9D4WLGsi7GRjok8Mx3/h3E3f6zVMQYweqxur0Qw53c+O9lg+Rfj41 necEbxXenJtMMJoD3s8s9F6x/M2v6TBFJahtcZIv/gZfGmGMAmw2HMgL0SJK7O9IsUV7 PLpiaMLceqsNFEM7KV3ALJJ+NiqceLldjSK87aDEciGIA6otu4HTPrUz2Cnk1LicL2Nt lH7Z8TILYIkQE/MBz3nggnHWigs5aksd94twBljC+4tINtQsbNm5TcX8rm4LTJKMlw/+ krBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=SZPWiMzkYQD8+oxvshJBz9hzwglolbWb6IRgEa3k59Y=; b=Vnbfyj83OaSgOhHNL7lqyCShNcXfUXXnvkTMCSLOZ3EW9XmT10bkYf3tV+iyWUuzVS 4hvUU0yp9yP7sM1udJh5xQnOzCTnPCNHMkDRCCOkKlaCIYacK8tJN+VvgwNZG2NW4pnj 6lRxQomocrXUi2YidvErAc0lYfxH/s/ViWL8NbSzyEN8IAylgnrc67PkftLTStD3MgqS EAdfcI/aEi7DaT+HiUAAf2imsX7BX384dcBUcqraeCnPKI+t6AjwAkp1JaM6FxxzqYus CVmHuXzt0kM9lluF8CIRiG4p2qt5EnIlFyo1TizBGGuAxvR67aYISpMRBpO4Ka3QHXye Edcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SPI3eFFJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p1si1729651pld.353.2019.01.17.08.20.49; Thu, 17 Jan 2019 08:20:49 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SPI3eFFJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728856AbfAQQUs (ORCPT + 21 others); Thu, 17 Jan 2019 11:20:48 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:35025 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728598AbfAQQUr (ORCPT ); Thu, 17 Jan 2019 11:20:47 -0500 Received: by mail-wr1-f66.google.com with SMTP id 96so11701274wrb.2 for ; Thu, 17 Jan 2019 08:20:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=SZPWiMzkYQD8+oxvshJBz9hzwglolbWb6IRgEa3k59Y=; b=SPI3eFFJgx/z42h5zJaxY2nlYW/iuC0sW+x6i1HlkE8pumnA8a60BKtL52R/852Iso bsXuBajn/JZGtnVh9b3ttKPpk5pkVbTH8rXZdXgs80j2mb1CZmO8HQLnoV1JhdH17MvP fCAImpHEX6OGMK7QJBpalbEbd0AmYockz8CrQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=SZPWiMzkYQD8+oxvshJBz9hzwglolbWb6IRgEa3k59Y=; b=TkwQyQ+JajaqJR0Hyz5ob38VUnnS1Fq/t/VTdxqVNclFcdwg6M0Ulm9ygPSNdf+tT0 J0pAOiyQo8y2rrsB7QycfNdjinKrV+tI919DEMKP8SNafZn7oVgCWKTijI6biAFnG4wN IDpEqEESZuJngzPOfXCQELTjwGrdjI2dqSCALEMKeZq/diDHsjv7GZcUJPOmV3BWtOaY TJYlGyBTTYAMWxyimi7b+yO7bsJ5/lm7+Opd8wsldgwaA2eaa+U96ZTNg2dYQmqOGQUR KhxpyL7Bt+TioRJkpMlbcZKjFrMDoy4Ika1lRon+2Z5WlFcwyJxRjm+nlMpiQrLHWM+o xCZQ== X-Gm-Message-State: AJcUukeajgr0wiRoEay2ZEf0ijd5LFV8a4TDuO1W5Pxt6ny1fn8LaNr3 v86W+uLanQpOGJtOKrjLsUvWqiTH79c= X-Received: by 2002:adf:94e4:: with SMTP id 91mr13271459wrr.322.1547742045914; Thu, 17 Jan 2019 08:20:45 -0800 (PST) Received: from localhost.localdomain ([37.157.136.206]) by smtp.gmail.com with ESMTPSA id v133sm31124734wmf.19.2019.01.17.08.20.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Jan 2019 08:20:45 -0800 (PST) From: Stanimir Varbanov To: linux-media@vger.kernel.org Cc: Mauro Carvalho Chehab , Hans Verkuil , linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Vikash Garodia , Tomasz Figa , Alexandre Courbot , Malathi Gottam , Stanimir Varbanov Subject: [PATCH 00/10] Venus stateful Codec API Date: Thu, 17 Jan 2019 18:19:58 +0200 Message-Id: <20190117162008.25217-1-stanimir.varbanov@linaro.org> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, This aims to make Venus decoder compliant with stateful Codec API [1]. The patches 1-9 are preparation for the cherry on the cake patch 10 which implements the decoder state machine similar to the one in the stateful codec API documentation. There few things which are still TODO: - V4L2_DEC_CMD_START implementation as per decoder documentation. - Dynamic resolution change V4L2_BUF_FLAG_LAST for the last buffer before the resolution change. The patches are tested with chromium VDA unittests at [2]. Note that the patchset depends on Venus various fixes at [3]. Comments are welcome! regards, Stan [1] https://patchwork.kernel.org/patch/10652199/ [2] https://chromium.googlesource.com/chromium/src/+/lkgr/docs/media/gpu/vdatest_usage.md [3] https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1894510.html Stanimir Varbanov (10): venus: hfi_cmds: add more not-implemented properties venus: helpers: fix dynamic buffer mode for v4 venus: helpers: export few helper functions venus: hfi: add type argument to hfi flush function venus: hfi: export few HFI functions venus: hfi: return an error if session_init is already called venus: helpers: add three more helper functions venus: vdec_ctrls: get real minimum buffers for capture venus: vdec: allow bigger sizeimage set by clients venus: dec: make decoder compliant with stateful codec API drivers/media/platform/qcom/venus/core.h | 20 +- drivers/media/platform/qcom/venus/helpers.c | 141 +++++- drivers/media/platform/qcom/venus/helpers.h | 14 + drivers/media/platform/qcom/venus/hfi.c | 11 +- drivers/media/platform/qcom/venus/hfi.h | 2 +- drivers/media/platform/qcom/venus/hfi_cmds.c | 2 + drivers/media/platform/qcom/venus/vdec.c | 467 ++++++++++++++---- .../media/platform/qcom/venus/vdec_ctrls.c | 7 +- 8 files changed, 535 insertions(+), 129 deletions(-) -- 2.17.1