From patchwork Mon Jun 12 12:28:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dawid Kozinski/Multimedia \\(PLT\\) /SRPOL/Staff Engineer/Samsung Electronics" X-Patchwork-Id: 42042 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c526:b0:117:ac03:c9de with SMTP id gm38csp2930108pzb; Mon, 12 Jun 2023 05:29:22 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5r9OcdNaKMawjK8D66br4YjTotbEkCPb24liB393UCt/XAq1cOL4yDoPNw3uz8Xy2zWbFz X-Received: by 2002:aa7:d290:0:b0:510:e80f:fa4e with SMTP id w16-20020aa7d290000000b00510e80ffa4emr5074569edq.1.1686572962112; Mon, 12 Jun 2023 05:29:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686572962; cv=none; d=google.com; s=arc-20160816; b=pLu5S6XTK4LW2Vl5urRd2uCX18DK+xCO9ASlQG4Xr7UkV3tFO0cwcrwpEfwxBjcjg/ Tbyb2Heoh2Eg1KPhSZQ9q6gEpL2dShVHeuWbqZUxn0Q7v3Tlle2ccPJ+31IpJE5Gji+5 vyVN3ffFamq8F9FkvMdBjJtSzhyZlwpTGkOZ34A0fqkeyIIB9Xj2BfB6fXyW4vFH8dRi YP09qMAfsluxpNf04oMPjo+RKc/wZJvmfqFHjvsqCJXyaPMBS6CBUGlnqz/JGaluvIhB Zg3yL2qrhWzGKlRdfi7Sv9okGwpNpmp4YTyCc1btxlcuxYCaDPFYz1d5Qz5qOdnkHBrq dGhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:cms-type:mime-version :message-id:date:to:from:dkim-signature:dkim-filter:delivered-to; bh=ablA2WqDu7uEBIlsR80aGdcZWVRXjarMdboLLwEisMQ=; b=QwstAwx40VR0F0cYFXFOP+/YxV3kVvp0ZFrUMkv6PXvbNm4a+sWYYDQVXqIQ1KfNdg 1t5VOdDdSpb2Q+9KemEjb7Vfh6Yt73uPIofuxRe0mcDDFyhdZj1i+0ljyO2zWhw6VYc/ uMEraTw1vONr83oHTTuG8tNhMRxX9dXO2JsLsKntSQ8DmK1yO75OAp2pPd2jmfxHlsSf 8jIFOtX1xwRZAJwjbjuagw4LG/CTAquFMZ47hqpD2iv+h7nwWON73Vd3xECBHMAubiCs IQHeEbte9c0DRTZcCXMecJvbsSRE6Qb/lZ6LZOIaoaBX7Byg9wdM9/4hqQVCBWJI3B// ClDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@samsung.com header.s=mail20170921 header.b=MAE621le; 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 n12-20020aa7c68c000000b00504a27c35cbsi5899881edq.313.2023.06.12.05.29.14; Mon, 12 Jun 2023 05:29:22 -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=MAE621le; 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 46AF468C3D0; Mon, 12 Jun 2023 15:29:12 +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 8D91A68C051 for ; Mon, 12 Jun 2023 15:29:05 +0300 (EEST) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20230612122905euoutp02dcb84c10bd4d62b991099c2d339b95be~n6ShcydMO0222302223euoutp02b for ; Mon, 12 Jun 2023 12:29:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20230612122905euoutp02dcb84c10bd4d62b991099c2d339b95be~n6ShcydMO0222302223euoutp02b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1686572945; bh=equYKmWEz6bckUimLi08TMOdjCu/6Cmsoal+Yu6NNAA=; h=From:To:Cc:Subject:Date:References:From; b=MAE621leRmnCfOPcyqGRuJNxgcXqSLE1VL7YDpCE/8nHFk3ESx0WktwRUXnaHrPDA N16SXOSElVP84fYx+o8rxiTEgsvD86+yGfqfIBp1WWRcKiFFQZ3gLBUKCYAFdeO5bb BdIIqEAJxy3/P2BIBeS6bu/3naZ/sYQYJn5Vne1U= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20230612122904eucas1p2bd3bcf8293aa17cc811f9ef8c95f7fa6~n6ShNupRr2191121911eucas1p2o; Mon, 12 Jun 2023 12:29:04 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 2E.F5.37758.09F07846; Mon, 12 Jun 2023 13:29:04 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20230612122904eucas1p1008515be9417e08a0cd61dbfdee00a1f~n6Sg9zeI92520825208eucas1p1V; Mon, 12 Jun 2023 12:29:04 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20230612122904eusmtrp2ca4412ffa91b398369ff8fd849aa6515~n6Sg9L4Qx0990309903eusmtrp2a; Mon, 12 Jun 2023 12:29:04 +0000 (GMT) X-AuditID: cbfec7f5-815ff7000002937e-a3-64870f90e097 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 6C.9F.14344.09F07846; Mon, 12 Jun 2023 13:29:04 +0100 (BST) Received: from AMDN5164.EU.corp.samsungelectronics.net (unknown [106.210.132.171]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20230612122904eusmtip2dae8ad070131518b3d6a56751d6bf0ac~n6Sgpm_zE0821408214eusmtip2j; Mon, 12 Jun 2023 12:29:04 +0000 (GMT) From: Dawid Kozinski To: d.frankiewic@samsung.com, ffmpeg-devel@ffmpeg.org Date: Mon, 12 Jun 2023 14:28:37 +0200 Message-Id: <20230612122837.1432-1-d.kozinski@samsung.com> X-Mailer: git-send-email 2.37.3.windows.1 MIME-Version: 1.0 X-Unsent: 1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrJIsWRmVeSWpSXmKPExsWy7djP87oT+NtTDHZO1rH4cu0Ls8XKb79Z LL59OsPswOzxZ9FmFo++LasYA5iiuGxSUnMyy1KL9O0SuDL2rnvGWPBBtKLtyWfGBsY2wS5G Tg4JAROJTRfesHcxcnEICaxglLjw6QYLhPOFUeLlsltsEM5nRol7d7oZYVqObJ/BCmILCSxn lPh0UhmiqJ1J4uviWWBFbAK6Ei8/PGICsUUETCVONu9lA7GZBbQl1t39DmRzcAgL1Eis+S0K EmYRUJX4tW45M4jNK2Al0TX5ITvELk2JCVvmMEHEBSVOznzCAhHnllg36xIrxEh5ieats5kh 4j/ZJY7/84KwXSS2zO5igrCFJV4d3wI1U0bi/875TCAnSAgUSxzqd4AwayQO/UiHqLCWeNt4 nBEkzAx0wfpd+hBhR4npP55DNfJJ3HgrCLGfT2LStunMEGFeiY42IQhTRaKvUwyiUUri6bI5 UBd6SCzdf45pAqPiLCRPzULyyCyEtQsYmVcxiqeWFuempxYb56WW6xUn5haX5qXrJefnbmIE pobT/45/3cG44tVHvUOMTByMhxglOJiVRHi1TZpThHhTEiurUovy44tKc1KLDzFKc7AoifNq 255MFhJITyxJzU5NLUgtgskycXBKNTDxHftSVMpz+PTCzs+3Q86s2x/eqJP/vUZLpJFl9Yd7 W4M+3Vu+6/CVZwUealOzvaUvFaaxSt9p4K2dv2lrweEZ3q+YnjmycTra/ltm5rGha/nlp0kv le+3iPSwCElu/pN1U6A9lc/12Pceo1fWqvY5x7insZg77HEIPiAgufTmNvWvl+/P5r9+dWex fszPS8BAMPnmJ7LUN0Kx/nvix8oVew0U7eN799jfNnLMu3R037eydi9nwX+3Yo5N2yUyQ+u3 889Gk4V+hneylimm6CY8W5kVoM7BsaZzyoRp0SLrJf7nhuzt3dRRtal22a8LKRruDfmXGi4t dJOV+To55qKAkbTKXUND3lcv7sSqLlNiKc5INNRiLipOBAD4mAXtfAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsVy+t/xe7oT+NtTDE7+k7T4cu0Ls8XKb79Z LL59OsPswOzxZ9FmFo++LasYA5ii9GyK8ktLUhUy8otLbJWiDS2M9AwtLfSMTCz1DI3NY62M TJX07WxSUnMyy1KL9O0S9DL2rnvGWPBBtKLtyWfGBsY2wS5GTg4JAROJI9tnsHYxcnEICSxl lHizZiMTREJKYunSRYwQtrDEn2tdbBBFrUwSsx6uZAZJsAnoSrz88AisQUTAXOLiultgDcwC 2hLr7n5nA7GFBaokHnzbBWazCKhK/Fq3HKyXV8BKomvyQ3aIBZoSE7bMYYKIC0qcnPmEBSLO LbFu1iVWiJnyEs1bZzNPYOSfhaRsFpLUAkamVYwiqaXFuem5xUZ6xYm5xaV56XrJ+bmbGIGB u+3Yzy07GFe++qh3iJGJg/EQowQHs5IIr7ZJc4oQb0piZVVqUX58UWlOavEhRlOgWycyS4km 5wNjJ68k3tDMwNTQxMzSwNTSzFhJnNezoCNRSCA9sSQ1OzW1ILUIpo+Jg1OqgcnxcEyegdAZ Q/NpX46vNWhxv/e2R+3nMaHrwvlTc1xMmLx+Gv+J0dtW+/OS7CEl9wj9gEV91+96vDPjav6y sqYngvv0mvs2G3wncNVP4j298/d2b8UV1brm9/j4TzLradRrRsYWcy5oiG2Nj/1VfiwjeOPx UyJzlXmXLpJ9/MZxRtyWZOlNMblf8z/PubMyPvX8E9cVIT99RF7O3fzB6u/Zy+XPGJJE5iZ2 Wj+7vm/TJNmTimdOrHz7bYXVhImMFeHOcWWdK3IfTjTfEnJE03KpxcM7hXtXTzH5OjlBO3Ze 7P4JO3lSGCP9Xb+aC8mzn63hKFUVZ7jw9UMqZ1GxvJT9S42Aroye1S8en530YbkSS3FGoqEW c1FxIgCZRCoB5QIAAA== X-CMS-MailID: 20230612122904eucas1p1008515be9417e08a0cd61dbfdee00a1f X-Msg-Generator: CA X-RootMTR: 20230612122904eucas1p1008515be9417e08a0cd61dbfdee00a1f X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20230612122904eucas1p1008515be9417e08a0cd61dbfdee00a1f References: Subject: [FFmpeg-devel] [PATCH v24 2/9] avformat/evc_muxer: Added muxer to handle writing EVC encoded data into file or output bytestream 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: Dawid Kozinski Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: YcMRiabFozd0 - Provided AVOutputFormat structure describing EVC output format (ff_evc_muxer) - Added documentation for EVC muxer Signed-off-by: Dawid Kozinski --- doc/muxers.texi | 6 ++++++ libavformat/Makefile | 1 + libavformat/allformats.c | 1 + libavformat/rawenc.c | 13 +++++++++++++ 4 files changed, 21 insertions(+) diff --git a/doc/muxers.texi b/doc/muxers.texi index 31fca17dd6..17ae33d15a 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -2122,6 +2122,12 @@ DTS Coherent Acoustics (DCA) audio. Dolby Digital Plus, also known as Enhanced AC-3, audio. +@subsection evc + +MPEG-5 Essential Video Coding (EVC) / EVC / MPEG-5 Part 1 EVC video. + +Extensions: evc + @subsection g722 ITU-T G.722 audio. diff --git a/libavformat/Makefile b/libavformat/Makefile index 05434a0f82..f31135d806 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -251,6 +251,7 @@ OBJS-$(CONFIG_HCOM_DEMUXER) += hcom.o pcm.o OBJS-$(CONFIG_HDS_MUXER) += hdsenc.o OBJS-$(CONFIG_HEVC_DEMUXER) += hevcdec.o rawdec.o OBJS-$(CONFIG_HEVC_MUXER) += rawenc.o +OBJS-$(CONFIG_EVC_MUXER) += rawenc.o OBJS-$(CONFIG_HLS_DEMUXER) += hls.o hls_sample_encryption.o OBJS-$(CONFIG_HLS_MUXER) += hlsenc.o hlsplaylist.o avc.o OBJS-$(CONFIG_HNM_DEMUXER) += hnm.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 96443a7272..d3871de268 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -154,6 +154,7 @@ extern const AVInputFormat ff_ea_cdata_demuxer; extern const AVInputFormat ff_eac3_demuxer; extern const FFOutputFormat ff_eac3_muxer; extern const AVInputFormat ff_epaf_demuxer; +extern const FFOutputFormat ff_evc_muxer; extern const FFOutputFormat ff_f4v_muxer; extern const AVInputFormat ff_ffmetadata_demuxer; extern const FFOutputFormat ff_ffmetadata_muxer; diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c index 78fadda967..70d6322c53 100644 --- a/libavformat/rawenc.c +++ b/libavformat/rawenc.c @@ -401,6 +401,19 @@ const FFOutputFormat ff_hevc_muxer = { }; #endif +#if CONFIG_EVC_MUXER +const FFOutputFormat ff_evc_muxer = { + .p.name = "evc", + .p.long_name = NULL_IF_CONFIG_SMALL("raw EVC video"), + .p.extensions = "evc", + .p.audio_codec = AV_CODEC_ID_NONE, + .p.video_codec = AV_CODEC_ID_EVC, + .init = force_one_stream, + .write_packet = ff_raw_write_packet, + .p.flags = AVFMT_NOTIMESTAMPS, +}; +#endif + #if CONFIG_M4V_MUXER const FFOutputFormat ff_m4v_muxer = { .p.name = "m4v",