From patchwork Thu Feb 16 01:32:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wang, Fei W" X-Patchwork-Id: 40398 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:5494:b0:bf:7b3a:fd32 with SMTP id i20csp115499pzk; Wed, 15 Feb 2023 17:35:26 -0800 (PST) X-Google-Smtp-Source: AK7set9H/IYYqQQ1TcG+TNN4tLVNWNVOwvAe7o4ei9FSfALyyYSI51GWchfpEi1m/1GIOj/SNsw+ X-Received: by 2002:a17:906:1906:b0:8a9:f870:d25b with SMTP id a6-20020a170906190600b008a9f870d25bmr4212447eje.15.1676511326741; Wed, 15 Feb 2023 17:35:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676511326; cv=none; d=google.com; s=arc-20160816; b=HTB2MU0wFyJddVwy1u+2mSfNodPZeh+5dJC1mvBLi3bpwwpwy1BnN5Dne/vRVo4y/K /h0smwHwYw4oQrUxdgwT7MnkOEimi7KB78FpcjNwq9/RclvrleYTFsP3KBRbEbwJp1Dp 3my5O7r4eGbPTmmzhCEGxc1OcVk/5V1B6Jns4s/sCTkoXVvBOuCSmHwmAJTXkkzFlgMe x+3nNFLboPgHAW4zvvfGVkWX/aORXsQZpKa2SOTxY+z0QlPFH5ba9n5ftJ9W4U8HFUkS DzTe0f0SdfZEOlEjpBeWLw1A88y9aaFxwk1sZtZ+LBahfrcJkF5Hl0nCu8Mmz8tMIccM 8XUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=gVAsVcTFbnFlQUU1L7vR+kBNwo7LdzV24lTG8/2zCW4=; b=bpH0LWN4bLMyOKGLCuRqHGHUwlygudl2il4WnB91EZkNmhxviNGdhmgVWao08+n9id gV8I3BuHwlmF1pN4hN0n0LmdKQPdv5FE34W1gpxKZiw/5U3ENKLKxUBeSCplX8UU9/ro LYcwlHuOe+qMpcDDyRct3D1mTnBNjvvXmdLzjTbwQyZj59xqG9GAZLB6ID/C1U3a6wga Y9aEm1xrb+JJ7XnBP7tNf97vsJlWSGMZqLW8FtJ2ZcJ4exSXkXccz8n+sUa6vZ7V/StA 3TVqjfauNiCkQxPx6v3WCwELCIXCV3T0FwIcuflVcS6EsZ08ca+v3+aVnk3nCxuHsaDe jDvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=KimgD3jL; 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 ez7-20020a1709070bc700b007c08bfea548si300658ejc.382.2023.02.15.17.35.26; Wed, 15 Feb 2023 17:35:26 -0800 (PST) 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=@intel.com header.s=Intel header.b=KimgD3jL; 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 5FD6F68BEAA; Thu, 16 Feb 2023 03:35:23 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E21D5689965 for ; Thu, 16 Feb 2023 03:35:15 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676511321; x=1708047321; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=8f1u1V5+7thjH+g0dTInY8EG6+ObYrswvji7T1/5yYc=; b=KimgD3jLg/BuzK5i37g1Iipo7AFM4GI0BlQXiH3fY1L5qbEoWKy2aIs5 oVpJ4RyEo7Lz68U5s+Yxh8T3/F1toN/JrSjoIk/xX8ApjehG6AKLTS3Ow fK7Dyy1qelbPNFAX9UWRk6vm+jz6qDCtIcGgx6foYJxWBE8p1+gZGr6+h 5R7J8Ygr/bUi6Fs4FqEHqP5dQisT+ymJlcpbKuoUJiEXJEdXB40dtyOWm av5VFcC/NbmPDV+09aWYYjHcv7lmWVwSukIoJ1zb3ycwDu6RpS/7mXItA klu6+qENiaL99kRGzEJSFLi9FNAee53iWH8U8vBZru/BkNRNUieBMcXf9 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="311223797" X-IronPort-AV: E=Sophos;i="5.97,301,1669104000"; d="scan'208";a="311223797" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 17:35:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="779168791" X-IronPort-AV: E=Sophos;i="5.97,301,1669104000"; d="scan'208";a="779168791" Received: from t.sh.intel.com ([10.239.159.159]) by fmsmga002.fm.intel.com with ESMTP; 15 Feb 2023 17:35:13 -0800 From: Fei Wang To: ffmpeg-devel@ffmpeg.org Date: Thu, 16 Feb 2023 09:32:39 +0800 Message-Id: <20230216013248.23044-1-fei.w.wang@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v6 01/10] lavc/avcodec: Add HEVC Screen Content Coding Extensions profile 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 5NkQDmEte/gD From: Linjie Fu Described in HEVC spec A.3.7. Bump minor version and add APIchanges entry for new added profile. Signed-off-by: Linjie Fu Signed-off-by: Fei Wang --- update: 1. bump minor version and add APIchanges entry for new profile. doc/APIchanges | 3 +++ libavcodec/avcodec.h | 1 + libavcodec/hevc_ps.c | 2 ++ libavcodec/profiles.c | 1 + libavcodec/version.h | 2 +- 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index 3ca724724b..5ab4a9c94f 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 API changes, most recent first: +2023-02-14 - xxxxxxxxxx - lavc 60.3.100 - avcodec.h + Add FF_PROFILE_HEVC_SCC. + 2023-02-13 - xxxxxxxxxx - lavu 58.1.100 - frame.h Deprecate AVFrame.coded_picture_number and display_picture_number. Their usefulness is questionable and very few decoders set them. diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 39881a1d2b..9a0fe97cad 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1654,6 +1654,7 @@ typedef struct AVCodecContext { #define FF_PROFILE_HEVC_MAIN_10 2 #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3 #define FF_PROFILE_HEVC_REXT 4 +#define FF_PROFILE_HEVC_SCC 9 #define FF_PROFILE_VVC_MAIN_10 1 #define FF_PROFILE_VVC_MAIN_10_444 33 diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index 5fe62ec35b..4aa5b76d5f 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -259,6 +259,8 @@ static int decode_profile_tier_level(GetBitContext *gb, AVCodecContext *avctx, av_log(avctx, AV_LOG_DEBUG, "Main Still Picture profile bitstream\n"); else if (ptl->profile_idc == FF_PROFILE_HEVC_REXT) av_log(avctx, AV_LOG_DEBUG, "Range Extension profile bitstream\n"); + else if (ptl->profile_idc == FF_PROFILE_HEVC_SCC) + av_log(avctx, AV_LOG_DEBUG, "Screen Content Coding Extension profile bitstream\n"); else av_log(avctx, AV_LOG_WARNING, "Unknown HEVC profile: %d\n", ptl->profile_idc); diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c index 7af7fbeb13..2230fc5415 100644 --- a/libavcodec/profiles.c +++ b/libavcodec/profiles.c @@ -85,6 +85,7 @@ const AVProfile ff_hevc_profiles[] = { { FF_PROFILE_HEVC_MAIN_10, "Main 10" }, { FF_PROFILE_HEVC_MAIN_STILL_PICTURE, "Main Still Picture" }, { FF_PROFILE_HEVC_REXT, "Rext" }, + { FF_PROFILE_HEVC_SCC, "Scc" }, { FF_PROFILE_UNKNOWN }, }; diff --git a/libavcodec/version.h b/libavcodec/version.h index 0550d7b0d8..43794ea588 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 2 +#define LIBAVCODEC_VERSION_MINOR 3 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \