From patchwork Wed Jun 22 06:48:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dawid Kozinski X-Patchwork-Id: 36377 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1a22:b0:84:42e0:ad30 with SMTP id cj34csp2657012pzb; Tue, 21 Jun 2022 23:49:11 -0700 (PDT) X-Google-Smtp-Source: AGRyM1upDKUpkgzIlBM3J9I5F5NkOAPBPnRBD2Io67VHNWeNPs1XBnwqak3uvSibuM8iSslPdsLZ X-Received: by 2002:a05:6402:1a4d:b0:435:74ce:7b36 with SMTP id bf13-20020a0564021a4d00b0043574ce7b36mr2292405edb.94.1655880550939; Tue, 21 Jun 2022 23:49:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655880550; cv=none; d=google.com; s=arc-20160816; b=ZapLIdMG8n+s5zcTsvOvqPBrgAGi1iI9LtjOlvOa0xR7bGLRZ0TXuJfBhxNov/92Mr M0BBSZ49VJkTseUqnsJDq8QTIFhnZmWSxYiVHRQNRBwBTV/3iBPpwSx8IaIuO2ZKhCDS 8PkeEK5vB85XczIFm2UukmXIrRInxbgE9M6wMzVcO1Z7eenOXst0X8j8Vfe4xBui7A+a PlOM0TJnkWsWE1lZAZRqPN7FBX9lYmAs9DXExkUofprK4LBA3hFCImMQefxnQhqNdwhV jiQ0cz1FQgh3xFJSVfIBWB/iXfyWZBePNX4FNhYSuG6dbh8dA1iKx8nEM0FVZeumuylw jukQ== 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:references:cms-type:content-language :thread-index:mime-version:message-id:date:to:from:dkim-signature :dkim-filter:delivered-to; bh=MIZlNVFtSupP8fuEx5+OaQ9M91ARG6DVx74FI07WjgQ=; b=YwkB/ID78kMWJBW+FayHLcGLpr0UF3rYbaUWPtsFK+kv8p2wGS1Z3ACuTM9Y8IqYVv HMzubonnG0eoCMtIWSDqaMGA0rqMQt3pj0bgfayXjCX+VsDA7PgwW2CyvT1k9Qqq1Die IeP/5IH6PGNT4QmTmdpHVHhiSS/e8DUzPDLDXgVBtbmsVnr8o1e72MPyvWrJo1FkSY4e BnN19TnVklinm/0bxTzqQrLL4b9S1VGeumA4Kp2keAdWtZkrdhpWxWXiSdEo2Rqp7G7z BsISrHUwBP/g/qJS4sBkNJvNNsPsuFsJ3Qfs4kwCzlEZ6T85mVbjlBoXHMBEbHdjYTDN vXvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@samsung.com header.s=mail20170921 header.b=hKNgu6sd; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gb22-20020a170907961600b006f42491e0a0si1297519ejc.655.2022.06.21.23.49.09; Tue, 21 Jun 2022 23:49:10 -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=@samsung.com header.s=mail20170921 header.b=hKNgu6sd; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A318668B6B9; Wed, 22 Jun 2022 09:49:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6F7A368B515 for ; Wed, 22 Jun 2022 09:48:59 +0300 (EEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20220622064856euoutp02c3dd73c6c591a027618902a7fd01c9cd~63pMyQAXQ0709007090euoutp02e for ; Wed, 22 Jun 2022 06:48:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20220622064856euoutp02c3dd73c6c591a027618902a7fd01c9cd~63pMyQAXQ0709007090euoutp02e DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1655880536; bh=xeg82ZGQxwQMkL+pdiyeV55YvIexa7+JFlF2UP3ovTI=; h=From:To:Subject:Date:References:From; b=hKNgu6sd/V32SaRayL5hQh+w6vb3FiFqVRFJrq7ScI9CvNTjwBocoj4p4EKDcsqw4 bITArYhOID96G61Ndx/2sHmJ/LirIO1JbdWss6tOaT8kWzCYtfiY/f+EH0j/kSzz5r m0TXXyWVRDBdCL/ubK0Gn8O9pUNFgVBbch7H/LdU= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20220622064856eucas1p1378f8f66f054d583860c0f7b94371302~63pMp_yws2963529635eucas1p1n for ; Wed, 22 Jun 2022 06:48:56 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 09.8B.09580.85BB2B26; Wed, 22 Jun 2022 07:48:56 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20220622064856eucas1p134bd4aad56d9d790c431d09595e1749e~63pMQ9cNT2963529635eucas1p1m for ; Wed, 22 Jun 2022 06:48:56 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220622064856eusmtrp165cbae75f09cb9f0dfece2067b3ae52d~63pMQW7Yd1432914329eusmtrp1z for ; Wed, 22 Jun 2022 06:48:56 +0000 (GMT) X-AuditID: cbfec7f5-9adff7000000256c-be-62b2bb587505 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 82.B0.09038.85BB2B26; Wed, 22 Jun 2022 07:48:56 +0100 (BST) Received: from AMDN3260 (unknown [106.210.132.171]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20220622064855eusmtip29cb561eedc550e349ef407ed0e964f57~63pL-xxs22355523555eusmtip2a for ; Wed, 22 Jun 2022 06:48:55 +0000 (GMT) From: "Dawid Kozinski" To: Date: Wed, 22 Jun 2022 08:48:55 +0200 Message-ID: <00ba01d88604$24d5c450$6e814cf0$@samsung.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AdiGAdaL8a7GYJuxTmuAAK3mXQusbg== Content-Language: pl X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrJIsWRmVeSWpSXmKPExsWy7djPc7oRuzclGWxco2zx7dMZZgdGjz+L NrMEMEZx2aSk5mSWpRbp2yVwZew8/I6pYIFyxdb2S4wNjJskuxg5OSQETCTOPLvF2sXIxSEk sIJR4u6090wQziQmidP3TzJCOBOZJG5fOMAK0/Js+gsWiMRyRon9s7ZBVbUxSUz928AOUsUm oC8xc9EnNhBbREBWYvW/KWC2sECoxI4DX1lAbBYBVYm5Z1cATeXg4BWwlHhxPxskzCsgKHFy 5hOwEmYBI4klq+czQdjyEtvfzmGGOEJB4ufTZWCtIgJ6EtdasiFKRCRuPGoBO0dC4Ce7xL1P G9gg6l0k5ixthXpAWOLV8S3sELaMxOnJPSwgcyQEiiUO9TtAmDUSh36kQ1RYS7xtPM4IYTtK LGiczwxRwidx460gxFY+iUnbpkOFeSU62oQgTBWJvk4xiEYpiafLYE73kJg7dwvbBEbFWUi+ nYXk21lIvp2F5K0FjCyrGMVTS4tz01OLjfNSy/WKE3OLS/PS9ZLzczcxAlPD6X/Hv+5gXPHq o94hRiYOxkOMEhzMSiK8NtwbkoR4UxIrq1KL8uOLSnNSiw8xSnOwKInzJmduSBQSSE8sSc1O TS1ILYLJMnFwSjUwLZ8cbfrQ5cnSpWltuoEBuZHbqy61THeb+9+QR61EkyOCfU7ntrw/pjJF t3vLWX1ZFVa9ubSA9X5vzhubauG2RbPOKH442pxR9Ozs9L7+bnfe3RcTuFcvvS6sOul4xRbT +O13vs4wiT+7n3HKtza9yfUKDDpHhBpMzkVMvFzQmi1xjuFRw8JbqtOSj27RdDBY9T1806Lg sCCNf19DVmhyHVKz+Lnw5ofHbfuNJhSb73CvcuucPP/e44ZfR3dX9C14kSPX0jo7xXx1x1bX LZWfeyKvtTxd7r7T/szbP3f25Oyzzv6tdaJm0dJ8EbOEzz6ad6c53o/7eEB6iZNA5u4zIpWB HG+UDZY93aH652WLvxJLcUaioRZzUXEiAB/bbgV8AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrKLMWRmVeSWpSXmKPExsVy+t/xe7oRuzclGbTcZbf49ukMswOjx59F m1kCGKP0bIryS0tSFTLyi0tslaINLYz0DC0t9IxMLPUMjc1jrYxMlfTtbFJSczLLUov07RL0 MnYefsdUsEC5Ymv7JcYGxk2SXYycHBICJhLPpr9g6WLk4hASWMoo8ejcC3aIhJTE0qWLGCFs YYk/17rYIIpamCSa3uxgAkmwCehLzFz0iQ3EFhGQlVj9bwqYLSwQLPHt/HcWEJtFQFVi7tkV rF2MHBy8ApYSL+5ng4R5BQQlTs58AlbCDHRE4+FuKFteYvvbOcwQexUkfj5dBtYqIqAnca0l G6JEROLGoxbGCYwCs5BMmoVk0iwkk2YhaVnAyLKKUSS1tDg3PbfYSK84Mbe4NC9dLzk/dxMj MLy3Hfu5ZQfjylcf9Q4xMnEwHmKU4GBWEuG14d6QJMSbklhZlVqUH19UmpNafIjRFOizicxS osn5wAjLK4k3NDMwNTQxszQwtTQzVhLn9SzoSBQSSE8sSc1OTS1ILYLpY+LglGpgqtMximzX cXzv/jfc+1CWoK1/FYNQbXTPyh+dy6+ZlElnndveeOCj4temrqLVx2w23Pq6blEI884HKR5p D1ImGa7uvfNjQybPickMCsdPBWoxvUszbg1nrn09z6Xch8XEJUWatSxctd5e+pHJ/IUl+68H 203o36ve7lrO5J14tW3F5grlud77/nO7X/HqvKKZ9X5WTuXddXkPlmfOzSvM8ryhNzu58oMo x5r9QnO0v9q6r7kS9TM8IWLq61nmbu5sdi9OG6dOnJpv7655i9Mve81dF9MfUdpa5z9vzTHV 3pHfNalLYqdQ9NeK047hjH3PVCpytGJ55gsaMWYvMI1dvPEb81TX/+tPp+Y3FiqxFGckGmox FxUnAgARc6dv+AIAAA== X-CMS-MailID: 20220622064856eucas1p134bd4aad56d9d790c431d09595e1749e X-Msg-Generator: CA X-RootMTR: 20220622064856eucas1p134bd4aad56d9d790c431d09595e1749e X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20220622064856eucas1p134bd4aad56d9d790c431d09595e1749e References: Subject: [FFmpeg-devel] [PATCH 1/3] Provided support for MPEG-5 EVC (Essential Video Coding) codec 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: aB9ck+zGh2W3 Prerequisites that must be met before adding new codec - Added new entry to codec IDs list - Added new entry to the codec descriptor list - Bumped libavcodec minor version - Changes in Changelog and MAINTAINERS files Signed-off-by: Dawid Kozinski --- Changelog | 3 ++- MAINTAINERS | 2 ++ libavcodec/codec_desc.c | 8 ++++++++ libavcodec/codec_id.h | 1 + libavcodec/profiles.c | 6 ++++++ libavcodec/profiles.h | 1 + libavcodec/version.h | 2 +- 7 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index ef589705c4..0d230bde91 100644 --- a/Changelog +++ b/Changelog @@ -67,7 +67,8 @@ version 5.0: - VideoToolbox ProRes encoder - anlmf audio filter - IMF demuxer (experimental) - +- eXtra-fast Essential Video Encoder (XEVE) +- eXtra-fast Essential Video Decoder (XEVD) version 4.4: - AudioToolbox output device diff --git a/MAINTAINERS b/MAINTAINERS index 274fc89203..4b33d3c1b2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -205,6 +205,7 @@ Codecs: libvpx* James Zern libxavs.c Stefan Gehrer libxavs2.c Huiwen Ren + libxev*.c, evc_parser.c Dawid Kozinski libzvbi-teletextdec.c Marton Balint lzo.h, lzo.c Reimar Doeffinger mdec.c Michael Niedermayer @@ -425,6 +426,7 @@ Muxers/Demuxers: dv.c Roman Shaposhnik electronicarts.c Peter Ross epafdec.c Paul B Mahol + evcdec.c Dawid Kozinski ffm* Baptiste Coudurier flic.c Mike Melanson flvdec.c Michael Niedermayer diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index e2c1c67f5e..ea6f65ee9c 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1886,6 +1886,14 @@ static const AVCodecDescriptor codec_descriptors[] = { .long_name = NULL_IF_CONFIG_SMALL("QOI (Quite OK Image)"), .props = AV_CODEC_PROP_INTRA_ONLY | AV_CODEC_PROP_LOSSLESS, }, + { + .id = AV_CODEC_ID_EVC, + .type = AVMEDIA_TYPE_VIDEO, + .name = "evc", + .long_name = NULL_IF_CONFIG_SMALL("MPEG-5 EVC (Essential Video Coding)"), + .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER, + .profiles = NULL_IF_CONFIG_SMALL(ff_evc_profiles), + }, /* various PCM "codecs" */ { diff --git a/libavcodec/codec_id.h b/libavcodec/codec_id.h index 93856a16f2..7ed4aed861 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -311,6 +311,7 @@ enum AVCodecID { AV_CODEC_ID_VBN, AV_CODEC_ID_JPEGXL, AV_CODEC_ID_QOI, + AV_CODEC_ID_EVC, /* various PCM "codecs" */ AV_CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs diff --git a/libavcodec/profiles.c b/libavcodec/profiles.c index 7af7fbeb13..a31244e0db 100644 --- a/libavcodec/profiles.c +++ b/libavcodec/profiles.c @@ -181,4 +181,10 @@ const AVProfile ff_arib_caption_profiles[] = { { FF_PROFILE_UNKNOWN } }; +const AVProfile ff_evc_profiles[] = { + { FF_PROFILE_EVC_BASELINE, "Baseline" }, + { FF_PROFILE_EVC_MAIN, "Main" }, + { FF_PROFILE_UNKNOWN }, +}; + #endif /* !CONFIG_SMALL */ diff --git a/libavcodec/profiles.h b/libavcodec/profiles.h index 41a19aa9ad..cf92b5f126 100644 --- a/libavcodec/profiles.h +++ b/libavcodec/profiles.h @@ -72,5 +72,6 @@ extern const AVProfile ff_sbc_profiles[]; extern const AVProfile ff_prores_profiles[]; extern const AVProfile ff_mjpeg_profiles[]; extern const AVProfile ff_arib_caption_profiles[]; +extern const AVProfile ff_evc_profiles[]; #endif /* AVCODEC_PROFILES_H */ diff --git a/libavcodec/version.h b/libavcodec/version.h index 2a08e42d7e..0ef6c991f3 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 33 +#define LIBAVCODEC_VERSION_MINOR 34 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \