From patchwork Mon Jan 11 16:33:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nuo Mi X-Patchwork-Id: 24900 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 4AC0944A17E for ; Mon, 11 Jan 2021 18:33:42 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 18C0368AB94; Mon, 11 Jan 2021 18:33:42 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 929B86881BB for ; Mon, 11 Jan 2021 18:33:34 +0200 (EET) Received: by mail-pl1-f170.google.com with SMTP id b8so126477plx.0 for ; Mon, 11 Jan 2021 08:33:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QQ8KVkwFEd8RJnOBObFqfvSMbvZt5myh54tXA6pdO8A=; b=MjFZ7pPpCaNsk0IjjWNxmRbpf395xqmuBSn4GqaVGlo/XtyjR5eP1dbx97QLgiIwMw 9bLGuO/axPXetCKbpQKq2llF8n7S4yQ85M6IYv9ldFbTw4sZp38Kg5nW3DNM5gcteF7p EDX1g88wIDuafyU3EKqwgNiUpYfmy0STo2bsvlgsnOxf4z0duAEv/SLRCyVK4ocBtRuz A6KTprgn3t7pE0UhL5XJcnvCW1TNXQKPTgsZGe4bxYO6poTP567sR83YCaB+MHULYeRs D/OUgToDwLm4Wl0HeCfCR9GTWcihzXWhtcpKxC4PPEEPYEqnScsP/QkNKJWZaVhJ7pDg Mi5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QQ8KVkwFEd8RJnOBObFqfvSMbvZt5myh54tXA6pdO8A=; b=Ur0Uho00hoNiyzpGERrjHyqtfL84BfXkHgQXhOk5f50NIb/npvw/1RhNaagTpfIe82 xMenLhDpvoXPhkFjzm4+67XZuxE9g+mKGrOuzYAJuhq9X2PwT+DlU48UQSWLiPA99gLr 0Bw0hwo8OW8kvuI8RVP5DLdV29w6DkRlfB33te5rZ86ORXiaillIDl2nJY11eedcy/Xd kFq1Vhu3D8jP106t/nPJATjxbBGEPhTUo3JIL/IRsN6LtSLMSTCQ+QQcBEPqUtxjnoBb qhzW5Jm6X/FBc2b301p2CO8m9VVYxBbmSLXnvPhG/Fgu4cYe3brgXmI2+AveVbRG5BIh L+Gg== X-Gm-Message-State: AOAM532sXR1grpqo/U5Of85Uw7QhOZd3Vi5NAC2LkTA3+Ulp2g0fmtdS qJQ2H3OvgOSILk5zH4OjmGS35wkWOrtSew== X-Google-Smtp-Source: ABdhPJwkrF0lv9U439328zD7+s8qT9DDrRPFNp+slJ3Ed+gGCRY4bfOkFKScqrIMhdQxBObJVoiC3A== X-Received: by 2002:a17:90b:512:: with SMTP id r18mr82129pjz.166.1610382812295; Mon, 11 Jan 2021 08:33:32 -0800 (PST) Received: from smith.tendawifi.com (23.83.245.51.16clouds.com. [23.83.245.51]) by smtp.gmail.com with ESMTPSA id x21sm203205pgi.75.2021.01.11.08.33.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Jan 2021 08:33:31 -0800 (PST) From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Tue, 12 Jan 2021 00:33:08 +0800 Message-Id: <20210111163319.13387-1-nuomi2021@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210109073421.23721-1-nuomi2021@gmail.com> References: <20210109073421.23721-1-nuomi2021@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v3 00/11] add vvc raw demuxer, muxer, parser, metadata bsf 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: Nuo Mi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Changes since v2: Set resolution and format in vvc_parser. It makes metadata bsf working without vvdec decoder. Metadata passthrough test gets 100% syntax match with vtm 11 conformance clips Change VVC_MAX_TILE_ROWS to 22, print error if it's larger than this. Remove unused vps and sei types. Move zero bytes append check to a stand-alone function Change VVC_MAX_DPB_SIZE + 13 to VVC_MAX_REF_ENTRIES Change vvc_metadata_bsf.c to h266_metadata_bsf.c Nuo Mi (11): avcodec/vvc: add shared header for vvc avcodec: add vvc codec id and profiles avformat: add vvc raw demux avcodec: add SEI enum for vvc avcodec/cbs_h265: fix undef SEI_TYPE_X avcodec/cbs_h2645: reface, move zero bytes check to a function avcodec: add cbs for h266/vvc avcodec/h2645_parse: add nal header parser for h266/vvc avcodec: add vvc parser avformat: add h266/vvc muxer avcodec: add vvc metadata bsf configure | 4 + libavcodec/Makefile | 3 + libavcodec/avcodec.h | 2 + libavcodec/bitstream_filters.c | 1 + libavcodec/cbs.c | 6 + libavcodec/cbs_h2645.c | 397 +++- libavcodec/cbs_h265_syntax_template.c | 4 +- libavcodec/cbs_h266.h | 758 +++++++ libavcodec/cbs_h266_syntax_template.c | 2774 +++++++++++++++++++++++++ libavcodec/cbs_internal.h | 3 +- libavcodec/codec_desc.c | 8 + libavcodec/codec_id.h | 2 + libavcodec/h2645_parse.c | 74 +- libavcodec/h266_metadata_bsf.c | 243 +++ libavcodec/parsers.c | 1 + libavcodec/profiles.c | 5 + libavcodec/profiles.h | 1 + libavcodec/vvc.h | 130 ++ libavcodec/vvc_parser.c | 299 +++ libavcodec/vvc_sei.h | 47 + libavformat/Makefile | 2 + libavformat/allformats.c | 2 + libavformat/rawenc.c | 25 + libavformat/vvcdec.c | 61 + 24 files changed, 4839 insertions(+), 13 deletions(-) create mode 100644 libavcodec/cbs_h266.h create mode 100644 libavcodec/cbs_h266_syntax_template.c create mode 100644 libavcodec/h266_metadata_bsf.c create mode 100644 libavcodec/vvc.h create mode 100644 libavcodec/vvc_parser.c create mode 100644 libavcodec/vvc_sei.h create mode 100644 libavformat/vvcdec.c