From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 43FE24782E for ; Sat, 23 Sep 2023 15:42:22 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1D49068C9BA; Sat, 23 Sep 2023 18:42:19 +0300 (EEST) Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C4CFB68C6D8 for ; Sat, 23 Sep 2023 18:42:12 +0300 (EEST) Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-1dc6195bf93so2083630fac.1 for ; Sat, 23 Sep 2023 08:42:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695483731; x=1696088531; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=83zmfMvqxRpehcjoL9rOjIsU93eODUMssYi3yquGDTI=; b=HH0IkyLQhTKCt8Qi+2Y9sgpX6Y+yBbs8O6t7UX5aP0PIeWriy5qgCd5YjHxJFSAmWA FEs3VLIOW9/S//SwtLwnzf/dskZDgoEQnBM2nDnovu/f3Jf3eUgH1kKg0eYqVGxwk8jy clv+FDsuUfOOfZGUN6bOalpYnZIa8yORFlXY5XTaXIEMT+uLW6p/vikbJVDgNcjzJs9g t4ob42CFbEMJ1uDx//M2k6qF9jiHLHXboMsYajppsIchzgC4a5/L69OVBFFELRVozsna wdstevQon5J9Je8OssmhJw7gXlVHPlyLuLxL6npNqJHkNTNXQ9fYKCwEVFdToaVEcBdn UNtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695483731; x=1696088531; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=83zmfMvqxRpehcjoL9rOjIsU93eODUMssYi3yquGDTI=; b=N+B2Xewsfsi1gfy0lOA9/gjo0Vc9AEW9ciP3g8hCfmGszY9M4O5aQbPh5MT1QOt+NP 9ALSx26IqrmcW/mzNUv8x0A4kMdRsBMFYh3qDfZTWo0c/Kgx86vuMHgXuNWljKzDwiWg 6rVfDR4CFg1beVd559OlCdNtDjbyo2Li3hYxVZiapSxJLDbUuyagYMOVzjhWnJCDowOP N62GlSzr+Vy+T8QK2YnhENyhLDic8cGctHpr+oezK/q1rlurpbd7kXlBBpi9uYy+ZFJ7 Gc0Mb0YcN5ebhq3oIZaa1UsczyGLEQnQRyWRTCD1sFd4znAmtrywlzhfIZi5CVh5uj1E Rqjw== X-Gm-Message-State: AOJu0Yzd+ZMYpsG8DEc3cjJLrtrA58psh48+iPf5zbh75q3ha+h9aWiW L+K3jYmHyMseWp8q/nneUvqL9B9DfhY= X-Google-Smtp-Source: AGHT+IHtwTPfws656n31Tqn+S4JBc/WSztse2o2/GWtxJlNoe/fLqQCN/aMWL6B8jXOhG18vz57Erw== X-Received: by 2002:a05:6870:2429:b0:1d6:d93d:6803 with SMTP id n41-20020a056870242900b001d6d93d6803mr3252376oap.33.1695483730746; Sat, 23 Sep 2023 08:42:10 -0700 (PDT) Received: from archvm.home (hwsrv-1088392.hostwindsdns.com. [23.254.253.23]) by smtp.gmail.com with ESMTPSA id e2-20020a63ae42000000b0057c630d606asm3307178pgp.69.2023.09.23.08.42.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Sep 2023 08:42:10 -0700 (PDT) From: Chen Yufei To: ffmpeg-devel@ffmpeg.org Date: Sat, 23 Sep 2023 23:36:08 +0800 Message-ID: <20230923154125.31376-1-cyfdecyf@gmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/2] avfilter/vf_vpp_qsv: apply 3D LUT from file X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Chen Yufei Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: First time modifing FFmpeg code and sending patch, please bear with me for mistakes. Following patches add support for applying 3D LUT from file using oneVPL VPP. Limitation: The new feature is only available when `CONFIG_VAAPI` is enabled, because of my limited test environemnt and little experience with video processing. 1st patch moves some 3D LUT parse function from `vf_lut3d.c` to `lut3d.c` to expose them for use in `vf_vpp_qsv.c`. I try to move only code that deals with 3D LUT table. 2nd patch applies 3D LUT from file in `vf_vpp_qsv.c`. I followed oneVPL's document and sample code, but there are still things that are not clear to me. The LUT value type used in VPP is `mfxU16` instead of float, I choose to multiply float value with 65535 to convert to `mfxU16` and the result seems correct. Test is done on an Arch Linux system (kernel 6.5.3) with Intel Arc A380 on a Thunderbolt 3 GPU dock. I compared transcoding output with `vf_lut3d` and don't see noticeable difference with my eyes. `make fate` passes without error. Chen Yufei (2): avfilter/vf_lut3d: expose 3D LUT file parse function. avfilter/vf_vpp_qsv: apply 3D LUT from file. libavfilter/Makefile | 8 +- libavfilter/lut3d.c | 669 +++++++++++++++++++++++++++++++++++++++ libavfilter/lut3d.h | 13 + libavfilter/vf_lut3d.c | 590 +--------------------------------- libavfilter/vf_vpp_qsv.c | 242 +++++++++++++- 5 files changed, 926 insertions(+), 596 deletions(-) create mode 100644 libavfilter/lut3d.c -- 2.42.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".