From patchwork Sun Oct 7 17:50:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Philip Langdale X-Patchwork-Id: 10632 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:ab0:73d2:0:0:0:0:0 with SMTP id m18csp2762047uaq; Sun, 7 Oct 2018 10:52:21 -0700 (PDT) X-Google-Smtp-Source: ACcGV62XCutFs7HKlK/ypJn/osHpTT31pdBhKazoxJKbcTh3G0n/17uvr/ET9MMXX7gi46ipoHBO X-Received: by 2002:a1c:87ca:: with SMTP id j193-v6mr12010504wmd.99.1538934741397; Sun, 07 Oct 2018 10:52:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538934741; cv=none; d=google.com; s=arc-20160816; b=ZhNT0nzqCz+q5MPFcO28k4y0kXhBnhg2VYCSyktcHMpbPmoixWChxnt1wY+4s6orsi ckJpNNO+WFsOgOR8J3hmDXApOIFqqv/HK2PWx+lEjVqXWvsATscwfNLv75kLFUmof3Lc V7IXPdM3lR2rkBTRw1ZWv5RE5qeTZQCdWOFQNBtO7cowggKPY3l7Hh0QgmRBm+a/ZQCR Co+ptGyqX03ixXq0WlV1Rty2n3iY/mQ1BllySfkPOpvwza3L+FuUjz0fHw7gUXOJUSLq 3PwFqql6PiMvTixdro5ElejS1l2WoC2PqNQX4bBdBVz4Kb3+wUOTbhmLxV49FxKvP2SS 5dQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to; bh=k5bJj9bZjHQeX4WF8uQndaA32S0eTQb6sgRBr19lkOY=; b=DAg8aMQaQqy3iOmD/GH3kZ0ODOBMqJM/0CUwq6EE1fgAQNyqBAjQRANZ/9kQ0VpDuu nYczV9VqWQ3SKfLo/pRX+jzL1JKx9HA70ntIrNsOplQQxSUE8tpBKAzwtbZifgsdwRXD WqxNUsHp1VCtkkqD3L5PVDNJydM6d3w8QHZvfrVSE+2K3ylbHjMKfZ2yOaxJOd9X/jjY 1PRD7ZkQSAwbes/k2zyqKeYCdHISHZSNpeA++B9W/YBFZ903ZJpXdCwxNTeIk4jx2XgC 5A0a5lOwWQkH4/bgPh3QpZmfxPyccjVCHGvYKvTz2iJvAm0sUZWlr1s5Xxptc/zZw6Kn EdKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@overt.org header.s=mail header.b="J1Sh/jA4"; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z5-v6si13369728wre.368.2018.10.07.10.52.21; Sun, 07 Oct 2018 10:52:21 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@overt.org header.s=mail header.b="J1Sh/jA4"; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9F59168A1B4; Sun, 7 Oct 2018 20:51:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yw1-f98.google.com (mail-yw1-f98.google.com [209.85.161.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 00C3C689E21 for ; Sun, 7 Oct 2018 20:51:07 +0300 (EEST) Received: by mail-yw1-f98.google.com with SMTP id a197-v6so7196020ywh.9 for ; Sun, 07 Oct 2018 10:51:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=PmMHX5aqdrhYAwV2VmiZZ5XHwn3k2iJ1RyQlC1Fe/cs=; b=gWvM0oNz+21xHNeMOuSzi74hX8FIppOpHieZLelAYMPEk4h+U6pYc1RP5FUVkLbAGl 2I5wW53Pe1ZGyGhTxevRurj+gLMjOGI/wxJ5ssP3KL8LfKi3O5KJsl2D0MMNZACms90q zIk3F8NVNCrjrjRVpI5mbqjFmd+pRD2OXQH5AXrTJQD4Q9b9C3mJoYededbDWAlvyJMl JtkHS+IadVUX+M7nnyb592dUWquRVKDm3JkA/s8AEGHdzVt6vGXCbk3v2p0Bh6OAIksa cMzZp9tlx5VDRdEbjf9I5pAk+DMv6mWTHY0WZuPPkp1UnClGEDL+zA4EL4vMXR/OmL39 fGlQ== X-Gm-Message-State: ABuFfohEAwDPLeYCD9FdArZxqYZVl2obzTV6rFbTW6NCeMIzGXtGSm5/ T6jfs0guATy0A2iG2KWESEYQ8ltpimlFzCtDYzdQpbOzSWoZZw== X-Received: by 2002:a0d:e984:: with SMTP id s126-v6mr11654380ywe.253.1538934688273; Sun, 07 Oct 2018 10:51:28 -0700 (PDT) Received: from mail.overt.org (155.208.178.107.bc.googleusercontent.com. [107.178.208.155]) by smtp-relay.gmail.com with ESMTPS id f204-v6sm1144793ywf.2.2018.10.07.10.51.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 07 Oct 2018 10:51:28 -0700 (PDT) X-Relaying-Domain: gapps.overt.org Received: from authenticated-user (mail.overt.org [107.178.208.155]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.overt.org (Postfix) with ESMTPSA id 5E85D60197; Sun, 7 Oct 2018 17:51:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=overt.org; s=mail; t=1538934687; bh=G+2BulpZt6Z7pBgPgSbqeMaKErUbbKn82e9KG9CdZpk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J1Sh/jA48HSe7YNS+0NjqYxV0skfUBPXQJJFKddzNjhSVFbYOsdyBFN1/+Vjc0o79 2OxG7g6V4rDV5mAxOtjUMJzvKG6DqlldNUoenilk4w56NRIVlpPN+SAQ7JMF5zsBOI i8tH3pnIJ+QesFyzXhzNRjUyLjRjsiUiLJWQKlV69xxFHY1wP/X+QjZ3ZPrJiQr7Kh l076JmVDGO6iy8UEBjQXjClkz4HNKFwAH8cE4ahWNAaJp3yicXon0q+F+yoJBxA7pu 5VXWhZngvjq2Mq+T8tmGxI4jq0f/uW5adm3uEoyAzZKF8wQYqNdw/qYctq/dvXDfl9 THusFcsERj3EA== From: Philip Langdale To: ffmpeg-devel@ffmpeg.org, Timo Rothenpieler Date: Sun, 7 Oct 2018 10:50:57 -0700 Message-Id: <20181007175057.31070-6-philipl@overt.org> In-Reply-To: <20181007175057.31070-1-philipl@overt.org> References: <20181007175057.31070-1-philipl@overt.org> Subject: [FFmpeg-devel] [PATCH 5/5] avcodec/nvenc: Accept YUV444P10_LSB and YUV444P12_LSB content X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Philip Langdale MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" 12bit is implicitly truncated to 10bit as part of doing this, but we already do that for P016 and YUV444P16. I've bundled a single version bump and changelog entry in this change to reflect the updates to all three of nvdec/nvenc/cuviddec. Signed-off-by: Philip Langdale --- Changelog | 1 + libavcodec/nvenc.c | 18 +++++++++++++----- libavcodec/version.h | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Changelog b/Changelog index 6c5e3c1c5d..12f600f8e6 100644 --- a/Changelog +++ b/Changelog @@ -33,6 +33,7 @@ version : - ilbc decoder - audio denoiser as afftdn filter - AV1 parser +- Support for HEVC 4:4:4 content in nvdec/nvenc/cuviddec version 4.0: diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index e180d7b993..74f3842a0b 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -41,8 +41,10 @@ const enum AVPixelFormat ff_nvenc_pix_fmts[] = { AV_PIX_FMT_NV12, AV_PIX_FMT_P010, AV_PIX_FMT_YUV444P, - AV_PIX_FMT_P016, // Truncated to 10bits - AV_PIX_FMT_YUV444P16, // Truncated to 10bits + AV_PIX_FMT_P016, // Truncated to 10bits + AV_PIX_FMT_YUV444P10_LSB, + AV_PIX_FMT_YUV444P12_LSB, // Truncated to 10bits + AV_PIX_FMT_YUV444P16, // Truncated to 10bits AV_PIX_FMT_0RGB32, AV_PIX_FMT_0BGR32, AV_PIX_FMT_CUDA, @@ -52,11 +54,15 @@ const enum AVPixelFormat ff_nvenc_pix_fmts[] = { AV_PIX_FMT_NONE }; -#define IS_10BIT(pix_fmt) (pix_fmt == AV_PIX_FMT_P010 || \ - pix_fmt == AV_PIX_FMT_P016 || \ +#define IS_10BIT(pix_fmt) (pix_fmt == AV_PIX_FMT_P010 || \ + pix_fmt == AV_PIX_FMT_P016 || \ + pix_fmt == AV_PIX_FMT_YUV444P10_LSB || \ + pix_fmt == AV_PIX_FMT_YUV444P12_LSB || \ pix_fmt == AV_PIX_FMT_YUV444P16) -#define IS_YUV444(pix_fmt) (pix_fmt == AV_PIX_FMT_YUV444P || \ +#define IS_YUV444(pix_fmt) (pix_fmt == AV_PIX_FMT_YUV444P || \ + pix_fmt == AV_PIX_FMT_YUV444P10_LSB || \ + pix_fmt == AV_PIX_FMT_YUV444P12_LSB || \ pix_fmt == AV_PIX_FMT_YUV444P16) static const struct { @@ -1263,6 +1269,8 @@ static NV_ENC_BUFFER_FORMAT nvenc_map_buffer_format(enum AVPixelFormat pix_fmt) return NV_ENC_BUFFER_FORMAT_YUV420_10BIT; case AV_PIX_FMT_YUV444P: return NV_ENC_BUFFER_FORMAT_YUV444_PL; + case AV_PIX_FMT_YUV444P10_LSB: + case AV_PIX_FMT_YUV444P12_LSB: case AV_PIX_FMT_YUV444P16: return NV_ENC_BUFFER_FORMAT_YUV444_10BIT; case AV_PIX_FMT_0RGB32: diff --git a/libavcodec/version.h b/libavcodec/version.h index 97d134851f..7e51585661 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,7 +28,7 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 58 -#define LIBAVCODEC_VERSION_MINOR 32 +#define LIBAVCODEC_VERSION_MINOR 33 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \