From patchwork Wed Oct 19 07:25:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Siedel X-Patchwork-Id: 38811 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp215749pzb; Wed, 19 Oct 2022 00:26:56 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6GwxPczdhNhSsaKEjfZcsIGnwwMdCKVAs2ByJa5pl9jzmgSCqzSS8rCJFJ1GQ66RlsB390 X-Received: by 2002:a17:907:980e:b0:78d:b6d8:f53c with SMTP id ji14-20020a170907980e00b0078db6d8f53cmr5751424ejc.70.1666164415079; Wed, 19 Oct 2022 00:26:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666164415; cv=none; d=google.com; s=arc-20160816; b=Qs2AZ4Vp3+cv835rPGzLZ/Q570/fJUK2HublEHHePBcGawgjxX57XsbJdDpOGDioWX p+a8R4KYXVr0+DbskoayzUjEtLO+d7PD52TKp4kamzkd+JL2thFDAyzNBSddOHFWH3q1 bs08Z4xxYsOxzvEqEMO/Fmly+gPQkbgh0sPkDShq1RX3/oF1SMeWlRNnuhUsRikQDriH MZoj+M/K7Dy9STZ3y4QmnEYNts1qfhV8ZR/hPd79NxID0yHvLLYcVvakDyrfpiNsAUTX ZrZ4PkbvOmBg59mQ8wGJW/Juv8pAnb0c8GBpEu9YyjPK/kBQ9iaIYHENmuKxbXAlfqEC KMLg== 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:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=rNtl7ogIpk3iQh3ZZrAX9DpiRzpMAHh5iYo8aSXXkVA=; b=WnJfZbla9YcKbuWKDHH5WNqNyqKr1NCoTLY80gdGOPU6cEDmCKMlcyHrJdTHlP+KF9 x9A1p+EswB/ElVw5a3/HuOovf7TdJUDFufVQw8TpE/jz0/U086dQ1lHHXxNgnnBipeBd dGoAR0iX5AsRf4tfCZjCYfceIhdFR00AI2TNxNpU6RCJeHpibLypocZ/Sml6+L2XPiPO 1DgGORgtIajdCd47IynDdPu3kV5vSk/eYWRL+jXkj1D/+0hQiAfrCbfZZMcczNm8qisD /DdC6UMtZFqQRc3MduxppH/q1UUnAbJSN6TlXfl+le5hmwRhnnxk0lXbTEPCU06ei27N //ZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@spin-digital-com.20210112.gappssmtp.com header.s=20210112 header.b=LyIGhiOn; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nb35-20020a1709071ca300b0078dce6e5cf8si11120654ejc.436.2022.10.19.00.26.54; Wed, 19 Oct 2022 00:26:55 -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=@spin-digital-com.20210112.gappssmtp.com header.s=20210112 header.b=LyIGhiOn; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C482968BDD1; Wed, 19 Oct 2022 10:26:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 30BF568BC1C for ; Wed, 19 Oct 2022 10:26:27 +0300 (EEST) Received: by mail-ej1-f45.google.com with SMTP id 13so37745568ejn.3 for ; Wed, 19 Oct 2022 00:26:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spin-digital-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+AvceJpjdoHpInUCRZgLoGOxrnZHGAtQc6698NQEOZ0=; b=LyIGhiOnvgOsFGlk2aurtffGKQBkoKs8P0V2x8P1v5wc+3rFFmbXfeh/S84VGLW6/M W56vtLzcHoIe+jvBO+MrMreWpL7iexu3R8Fpb82DngKw+/4jgGc5ZGXmAYO0qCVPY4Pf jheCvGRKWQqx9bgS2qJCct3U53pL/KdRdz0/oo6p1Pyf5wXy6y5P9MjgEbmYuBQIiQjP ta8KRSWAmi6xC85k2x5nvk6J2M5R9AtmcJmmdgrqhFbLvU9cUXVkRv4cJSJRmBttChS1 N2d5j6p0Q28qmlEyaoZ0IyBFXcbbpjd3vEN+qTRUFiAm/opUxnHtFvS1sSKiDpxzKQRd JR5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+AvceJpjdoHpInUCRZgLoGOxrnZHGAtQc6698NQEOZ0=; b=TfIKnQfozdu1HCex1IcypLPzBL9Tibpmg8/z9JMNc9EFwCDbWNoQ1O5oB+p3XwDtPk hTGmvCQ67K77T0QUCbBWaqeYYbu4wVarlccm+rJOTXH5gfYENx6vdDJeWjEP2sy/DTZy JrM6Tf6l3WE5A9R+m2NO/MBboUOAr7pR79JlG5tMInohkke9/7JSlXRVJHIPEXntpk3I EGv/G5hZZn6BeVbSyeiJmMhwmhPC7aa08R2s21x7kdeoAL4g5MFYWPnK+TIa0AMlYIoo ul4EFyqLtKkOiyY4J1C+AqvuKXih48qrFRYS4Xn9ALPqSQtQ5UezvkmLXpKWd+znyWwK u2Aw== X-Gm-Message-State: ACrzQf3/fHz8bR1z+7VrloWdkEG5re7ptEesblUX5X09t7SjxCgHMR49 wlp0YDE7blRVw5/5C+lLPK9FvQ9tbFIHBw== X-Received: by 2002:a17:907:62a7:b0:789:48ea:ddb0 with SMTP id nd39-20020a17090762a700b0078948eaddb0mr5394683ejc.575.1666164386231; Wed, 19 Oct 2022 00:26:26 -0700 (PDT) Received: from thomas-win.localdomain ([213.138.44.237]) by smtp.gmail.com with ESMTPSA id p5-20020a170906498500b0078b83968ad4sm8515150eju.24.2022.10.19.00.26.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Oct 2022 00:26:25 -0700 (PDT) From: thomas.ff@spin-digital.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 19 Oct 2022 09:25:00 +0200 Message-Id: <20221019072508.23460-4-thomas.ff@spin-digital.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221019072508.23460-1-thomas.ff@spin-digital.com> References: <20221019072508.23460-1-thomas.ff@spin-digital.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v1 03/11] avcodec: enable cbs for H266/VVC 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: Thomas Siedel Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VagvKBTCDsX6 From: Thomas Siedel Add ff_cbs_type_h266 to cbs types tables and AV_CODEC_ID_H266 to cbs codec ids. Change CBS_MAX_UNIT_TYPES to 8 as VVC implements 8 different slice types Signed-off-by: Thomas Siedel --- libavcodec/Makefile | 1 + libavcodec/cbs.c | 6 ++++++ libavcodec/cbs_internal.h | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libavcodec/Makefile b/libavcodec/Makefile index c7dc5da0f9..b3fcf173e9 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -76,6 +76,7 @@ OBJS-$(CONFIG_CBS) += cbs.o cbs_bsf.o OBJS-$(CONFIG_CBS_AV1) += cbs_av1.o OBJS-$(CONFIG_CBS_H264) += cbs_h2645.o cbs_sei.o h2645_parse.o OBJS-$(CONFIG_CBS_H265) += cbs_h2645.o cbs_sei.o h2645_parse.o +OBJS-$(CONFIG_CBS_H266) += cbs_h2645.o cbs_sei.o h2645_parse.o OBJS-$(CONFIG_CBS_JPEG) += cbs_jpeg.o OBJS-$(CONFIG_CBS_MPEG2) += cbs_mpeg2.o OBJS-$(CONFIG_CBS_VP9) += cbs_vp9.o diff --git a/libavcodec/cbs.c b/libavcodec/cbs.c index 8d6e3c3442..f01726aa37 100644 --- a/libavcodec/cbs.c +++ b/libavcodec/cbs.c @@ -40,6 +40,9 @@ static const CodedBitstreamType *const cbs_type_table[] = { #if CONFIG_CBS_H265 &ff_cbs_type_h265, #endif +#if CONFIG_CBS_H266 + &ff_cbs_type_h266, +#endif #if CONFIG_CBS_JPEG &ff_cbs_type_jpeg, #endif @@ -61,6 +64,9 @@ const enum AVCodecID ff_cbs_all_codec_ids[] = { #if CONFIG_CBS_H265 AV_CODEC_ID_H265, #endif +#if CONFIG_CBS_H266 + AV_CODEC_ID_H266, +#endif #if CONFIG_CBS_JPEG AV_CODEC_ID_MJPEG, #endif diff --git a/libavcodec/cbs_internal.h b/libavcodec/cbs_internal.h index 5ccba3c901..b741030da4 100644 --- a/libavcodec/cbs_internal.h +++ b/libavcodec/cbs_internal.h @@ -45,7 +45,7 @@ enum CBSContentType { enum { // Maximum number of unit types described by the same unit type // descriptor. - CBS_MAX_UNIT_TYPES = 3, + CBS_MAX_UNIT_TYPES = 8, // Maximum number of reference buffer offsets in any one unit. CBS_MAX_REF_OFFSETS = 2, // Special value used in a unit type descriptor to indicate that it @@ -242,6 +242,7 @@ int ff_cbs_write_signed(CodedBitstreamContext *ctx, PutBitContext *pbc, extern const CodedBitstreamType ff_cbs_type_av1; extern const CodedBitstreamType ff_cbs_type_h264; extern const CodedBitstreamType ff_cbs_type_h265; +extern const CodedBitstreamType ff_cbs_type_h266; extern const CodedBitstreamType ff_cbs_type_jpeg; extern const CodedBitstreamType ff_cbs_type_mpeg2; extern const CodedBitstreamType ff_cbs_type_vp9;