From patchwork Thu May 12 06:05:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dawid Kozinski X-Patchwork-Id: 35738 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp297203pzb; Wed, 11 May 2022 23:05:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaaGp03qOePrG5AgbKHnHcQLgexwBeOrvYEg6MimoMcjrtUbn5tKgS+z0I9i7lezLz2jr0 X-Received: by 2002:a05:6402:1399:b0:410:9fa2:60d6 with SMTP id b25-20020a056402139900b004109fa260d6mr33492419edv.35.1652335545472; Wed, 11 May 2022 23:05:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652335545; cv=none; d=google.com; s=arc-20160816; b=Q6sqMav5w870PEipt+GbmpIO7ZYWBfEbF/yPQ26GOowh1ag2x/4TIZYyP6UZJx4DLW yRHom9IoQugmsHDXRVBxAiw0lyv31f2Vp/CeBPM6KljZwYzmperb72QHCaJE/gNEa1Ir Cdb2wLvg5q03SP1wY9MOy6VjpVvFCc+fAl1bWEE8nCqbGgtElpgF4vVPwIqpn5kuCf/X x/A2DyFzHLwCQikbVkWelzXoU6PYHPU8TXgN3mEviXb0pTjrLqv8IQ57tzgBFOELrqjB YmYu0jZHqQSoL5txbh/CBhau3tYlEh9qK2Tw/NbQZS3wS1mc2q98cS91UFwn5LZz0V18 w/0Q== 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:thread-index :content-language:mime-version:message-id:date:to:from :dkim-signature:dkim-filter:delivered-to; bh=OGW4A+kPKlqSXvMPula1+pCQvNXZK7W1fYyneeeXfBs=; b=fVSsVZ4dgahFprUCqbk4rfwboIIBWfAFpRW8Vs1pXlm60C8v1fMkF/RckgwtzCA5YX CmyIHs9MWNgdELAWC7PJymrtsN0m3VlI6w62+AcwrS6eXBs9V4kNGOL0n/3lphPkovBo r2z6lZacRXw68WAHhX0EBAr9Ij2IuexXB+69SiDjlmuiV+HlpfXB2NobjPA2V/b2/Mf1 c5VIflVMzAoYW9FT2Yn4sOSyXfzeXTITLABspCCR8ocRImuE6dkyv6LfAj4ZbcOiwxUB +xs/RVTaRpBTO+/riXWe95b6Hcxb11G8Ei5FyJshEUf2EXD+GpTWb9evM4xsjJrZHOXr sSPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@samsung.com header.s=mail20170921 header.b=tbyc1t29; 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 sc33-20020a1709078a2100b006df76385bd5si5924397ejc.117.2022.05.11.23.05.44; Wed, 11 May 2022 23:05:45 -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=tbyc1t29; 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 92D2268B445; Thu, 12 May 2022 09:05:40 +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 8E7A768B0BB for ; Thu, 12 May 2022 09:05:34 +0300 (EEST) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20220512060532euoutp027087cac0cdac7c3bffa9e725a118919d~uRmmnXVG90957909579euoutp02g for ; Thu, 12 May 2022 06:05:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20220512060532euoutp027087cac0cdac7c3bffa9e725a118919d~uRmmnXVG90957909579euoutp02g DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1652335532; bh=iI+C34aq9HTz8Gc/t1PhCYaiuPPinxEQV87ZQrI0HHk=; h=From:To:Subject:Date:References:From; b=tbyc1t29wofFGP7gMeECRH1tFTY6kI9ocrnhDUwZzT8CIjcqXKtkwMq70mEz77Et4 dQsWXfxgdSppgiOq07SYedUW21j0RAM803D5Xt/GHdwnpUjTxfZEw1f4ii5/JyHuNC +5Hl9wbPa/RXRB023bWj/XW1uvMg0+3ZINAQmoLM= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20220512060532eucas1p16eeb455e278b8dcd60cc7bedbb9a10a1~uRmmR9-Az2378423784eucas1p1y for ; Thu, 12 May 2022 06:05:32 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id D1.0F.10260.CA3AC726; Thu, 12 May 2022 07:05:32 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20220512060532eucas1p144a51c7f95d0df6e05500a6dc56be383~uRml6_Lhl0260402604eucas1p1P for ; Thu, 12 May 2022 06:05:32 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20220512060532eusmtrp2323bdbb2bf0fdcee8357c452be393799~uRml6X_8I2511625116eusmtrp2o for ; Thu, 12 May 2022 06:05:32 +0000 (GMT) X-AuditID: cbfec7f5-bddff70000002814-43-627ca3ac84f2 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id B1.EF.09404.CA3AC726; Thu, 12 May 2022 07:05:32 +0100 (BST) Received: from AMDN3260 (unknown [106.210.132.171]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20220512060531eusmtip2666f0a3ba3e24eea2f4771aaf498c2b5~uRmlsFpOE1041710417eusmtip2x for ; Thu, 12 May 2022 06:05:31 +0000 (GMT) From: "Dawid Kozinski" To: Date: Thu, 12 May 2022 08:05:31 +0200 Message-ID: <020601d865c6$498ff210$dcafd630$@samsung.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Content-Language: pl Thread-Index: Adhlw0K6PX/KrDDpQVKOqeR9U2alxA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrOIsWRmVeSWpSXmKPExsWy7djP87prFtckGfw6IGHx7dMZZgdGjz+L NrMEMEZx2aSk5mSWpRbp2yVwZTTc3sFW8EKp4uvnL8wNjD8luhg5OSQETCQmX3vB2MXIxSEk sIJR4vazB+wQziQmia7dD5ghnIlMEs+/X2DtYuQAa3n8OxoivpxR4s6pb1BFbUwSN28sYgGZ yyagLzFz0Sc2EFtEQFZi9b8pYLawQKjEjgNfWUAGsQioSlw4bgti8gpYSiz4Iw5SwSsgKHFy 5hOwKcwCRhJLVs9ngrDlJba/ncMMcbWCxM+ny1gh4iISNx61MIKMERHQk/jz3R/kGgmBv+wS 7X+PMkHUu0i8evSHFcIWlnh1fAs7hC0j8X8nyHyQt4olDvU7QJg1Eod+pENUWEu8bTzOCGE7 SpydtYYdooRP4sZbQYgD+CQmbZvODBHmlehoE4IwVST6OsUgGqUkni6DOd1DYv3GCWwTGBVn Ifl2FpJvZyH5dhaSDxcwsqxiFE8tLc5NTy02zkst1ytOzC0uzUvXS87P3cQITAun/x3/uoNx xauPeocYmTgYDzFKcDArifDWNNckCfGmJFZWpRblxxeV5qQWH2KU5mBREudNztyQKCSQnliS mp2aWpBaBJNl4uCUamBaujdXbH9Gqp+v6rmO79MfH3kn+pTT0ojNu00pTWBesnPA3gKDNZ7s QuEvOvjzb83u3x+mubNeR3fBUqOP5mUe2lYSu2bqFIevd7y21Ly74pimctyKwkuJK+9NivKr Ns772fXOINDqr/vlSSt3HLptaZZmsD74itsqVeV/30rKWoVyfMq+JoutPPdfh1Gq9G5BezjH Z08p+/XGAbMZeq97JMlNqEpQmKxe+ZtZuexewLboooVpJUEvWWtNyjNvRS+ZrXgsTrrV4Sfn 10ZtfSGxe43PHZky+Wd66f6Y3h/n+E7n9Yaqq8lJey/kN73fk1L2+NCCqWtvfT6xP8SrJ2D+ S47MU5O+ujfPqdBvU2Ipzkg01GIuKk4EAH0WGfJ6AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrMLMWRmVeSWpSXmKPExsVy+t/xe7prFtckGWz8zmzx7dMZZgdGjz+L NrMEMEbp2RTll5akKmTkF5fYKkUbWhjpGVpa6BmZWOoZGpvHWhmZKunb2aSk5mSWpRbp2yXo ZTTc3sFW8EKp4uvnL8wNjD8luhg5OCQETCQe/47uYuTiEBJYyijRcek0UxcjJ1BcSmLp0kWM ELawxJ9rXWwQRS1MEounzmQFSbAJ6EvMXPSJDcQWEZCVWP1vCpgtLBAs8e38dxaQBSwCqhIX jtuCmLwClhIL/oiDVPAKCEqcnPmEBcRmBjqh8XA3lC0vsf3tHGaItQoSP58uY4WIi0jceNTC CDJGREBP4s93/wmMArOQTJqFZNIsJJNmIelewMiyilEktbQ4Nz232EivODG3uDQvXS85P3cT IzC0tx37uWUH48pXH/UOMTJxMB5ilOBgVhLhrWmuSRLiTUmsrEotyo8vKs1JLT7EaAr02ERm KdHkfGB05ZXEG5oZmBqamFkamFqaGSuJ83oWdCQKCaQnlqRmp6YWpBbB9DFxcEo1MMW3x/x1 PnB7+4QNm19OeZzya4sbR16DdGqD/bJWY44jUfF55svtGE1SvhpZbfl7+o/4b+HjL447rn27 uzG96GU6l53c8us7FFwEs+7MT7p9wztpSntVXXer/IToo62HHu94Zqy2/uhZv0dnO5JF+N+8 lHI8uivi0QO3/ywhhVyzHnpl1X08+5flx/dndqpiv96xzb7+mz3wsZyCydkslqWmzYre6WGv Ag/Wb7iu8SJ9zYbPx27n636dsT6HLa9aQLA09eGpoEg924W9bw5civPrdrMTdI78PiPYc9X3 d3u3nco7LZ31ZK/UdzP/7NupAvkFbmEF2rNS7jF8cDi3zWQd32+PBdvUtskc1P5cwKLEUpyR aKjFXFScCACAGdcU9gIAAA== X-CMS-MailID: 20220512060532eucas1p144a51c7f95d0df6e05500a6dc56be383 X-Msg-Generator: CA X-RootMTR: 20220512060532eucas1p144a51c7f95d0df6e05500a6dc56be383 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20220512060532eucas1p144a51c7f95d0df6e05500a6dc56be383 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: qfh8WRi5t+0Z 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 4d42a0f681..168175c29e 100644 --- a/Changelog +++ b/Changelog @@ -62,7 +62,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 46723972dc..fba37b23b1 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 e7f0f6a8d4..bf18c67ce9 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -1879,6 +1879,14 @@ static const AVCodecDescriptor codec_descriptors[] = { AV_CODEC_PROP_LOSSLESS, .mime_types= MT("image/jxl"), }, + { + .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 8b317fa121..1d40620722 100644 --- a/libavcodec/codec_id.h +++ b/libavcodec/codec_id.h @@ -310,6 +310,7 @@ enum AVCodecID { AV_CODEC_ID_GEM, AV_CODEC_ID_VBN, AV_CODEC_ID_JPEGXL, + 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 87b7284a95..5183deb68b 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 28 +#define LIBAVCODEC_VERSION_MINOR 29 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \