From patchwork Mon Jan 25 14:14:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nuo Mi X-Patchwork-Id: 25168 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 D366644900B for ; Mon, 25 Jan 2021 16:23:52 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B15CC6880ED; Mon, 25 Jan 2021 16:23:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 63F656880ED for ; Mon, 25 Jan 2021 16:23:46 +0200 (EET) Received: by mail-io1-f42.google.com with SMTP id q1so26797933ion.8 for ; Mon, 25 Jan 2021 06:23:46 -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=su7pK92EWz+aBmxTfEj0y1RcRvx+3ytEAUpG4atxTY4=; b=EWn2Nr/xwjUoJwdYsAzuZo8rzz2FMHFrmcC7fZbVB+Mbgbiiw03xvFPBO9HCAWIMFW aR4C181g2G1ZFrq72u79yY+ykwmPEc2RAYC0Q4v9RrpqT41aquTXng+bkJzNI9GGQWJP Y3vNrYFnhVg3P4TOzo/TLFa/87SNoQbEzdUtKUXUMpq511WDqb90C849mJTewE9zb8wT QqX9k70yoD74rWio+m3X6MFF/3sT4N/NlLuZvQYOBSs2szv0qxZlSGy11TLuliL/2JqW rlOFocl2KFVLOFIyb3X6b3hQB1S+mN62uIynmMGJT2//zHUlYMUZ1rUs6hyf82hSIM9L yPbg== 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=su7pK92EWz+aBmxTfEj0y1RcRvx+3ytEAUpG4atxTY4=; b=aj8WnCz/RLT/sB0uj1kjTzkNfE/nrzArojeCqovCzpd2vibLE/1RYL+MYjTPmWVJdt nm4qLfidDe0bYr5RtYmCxfXqGeRvrYd+RGzyq9lRjYVIeM3sFBRjk/BApZfupwlx/Dkf ERtVzy26MiPClzGyzQuCIO5adk+zIkr+mXEasvnNjgq67ibdoRvxwKKVGjyr+F83QbcQ AiaNBwXjy0BYXw8rNjLWczM3m8o5CbzA95jPZcbYFBjNYFNfpF5p+YvkKzpT3xD2bada /IB+w9kNdvy/qEuj6OwaZknlwAcayJno5YahfxfQPwV83cZfk9YNxDFxxA4KlLjcVllk gvqQ== X-Gm-Message-State: AOAM532ONKJjqbBwIgciRYKcrrqbzTsps7cNZmxg747AfH4ApRcHK/8t MMXWIYY83jPuwE9W+2t2TZ0ubQwxdgk= X-Google-Smtp-Source: ABdhPJwSaLW6Y50SfXgsIy0H+RXb22L2kmakNdxX9VGSWuMZdRsAGNbhRvE7O+NG0UqfoKOEEJMXOA== X-Received: by 2002:a63:7503:: with SMTP id q3mr825765pgc.318.1611584197664; Mon, 25 Jan 2021 06:16:37 -0800 (PST) Received: from smith.tendawifi.com (23.83.245.51.16clouds.com. [23.83.245.51]) by smtp.gmail.com with ESMTPSA id z6sm5523328pfr.133.2021.01.25.06.16.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Jan 2021 06:16:36 -0800 (PST) From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Mon, 25 Jan 2021 22:14:58 +0800 Message-Id: <20210125141507.11012-1-nuomi2021@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210111152357.3965-1-nuomi2021@gmail.com> References: <20210111152357.3965-1-nuomi2021@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 0/9] 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" Major Changes since v3: Test 61 more new clips from VTM 11, all passed the passthrough test. Add and test VPS. Use the new SEI framework. Use the new CBSBSFContext base class Misc changes: Make h266_ceil as inline function Infer vui when it's not existed. Infer vui_chroma_sample_loc_type_frame Remove sps_subpic, tile_info, and slice_info function Ignore value in reserved bits Change VVC_MAX_TILE_ROWS to VVC_MAX_TILES_PER_AU Change get_bits_count/put_bits_count to bit_position Replace VVC_MAX_PLANES with MAX_SAMPLE_ARRAYS Nuo Mi (9): avcodec/vvc: add shared header for vvc avformat: add vvc raw demux avcodec: add SEI enum for vvc 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/cbs_h2645: vvc, do not skip nals for nuh_layer_id > 0 avcodec: add vvc metadata bsf configure | 4 + libavcodec/Makefile | 3 + libavcodec/bitstream_filters.c | 1 + libavcodec/cbs.c | 6 + libavcodec/cbs_h2645.c | 425 +++- libavcodec/cbs_h266.h | 812 +++++++ libavcodec/cbs_h266_syntax_template.c | 3006 +++++++++++++++++++++++++ libavcodec/cbs_internal.h | 3 +- libavcodec/cbs_sei.c | 29 + libavcodec/h2645_parse.c | 74 +- libavcodec/h266_metadata_bsf.c | 227 ++ libavcodec/parsers.c | 1 + libavcodec/vvc.h | 142 ++ 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 + 19 files changed, 5163 insertions(+), 6 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