From patchwork Tue Jan 2 01:45:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dai, Jianhui J" X-Patchwork-Id: 45449 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6623:b0:194:e134:edd4 with SMTP id n35csp6468389pzh; Mon, 1 Jan 2024 17:45:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IGf4zlPZVVAWIeoUqsRC4FRxsa4nN0Vwlm3KzBPM8xVg8bfqZ8TPfFGmvd4vCa4x7ecr5LW X-Received: by 2002:a05:600c:3843:b0:40d:8687:9f69 with SMTP id s3-20020a05600c384300b0040d86879f69mr1599089wmr.8.1704159958963; Mon, 01 Jan 2024 17:45:58 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a21-20020a05640213d500b005549c3ecb88si8367637edx.256.2024.01.01.17.45.58; Mon, 01 Jan 2024 17:45:58 -0800 (PST) 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=@intel.com header.s=Intel header.b=N7R5N8Xp; arc=fail (body hash mismatch); 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 8921B68B02D; Tue, 2 Jan 2024 03:45:54 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.11]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 682B168B02D for ; Tue, 2 Jan 2024 03:45:47 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704159953; x=1735695953; h=from:to:subject:date:message-id: content-transfer-encoding:mime-version; bh=2uTPrKcSz1nTvEERARQsKVhq+ugHJkqKmxYAso9kUrQ=; b=N7R5N8Xp6XG7mcwFH80qLdwZvQLdEJ2+ioXQrSrxcUIP3DAOf2+cvSxP 9uIDBa9OOKWZ8LjP56QeWflIZOl5mW6DK0uyfmXqRyf981fUpR6Op+fet Zd+8WyDDq2FauummsIV456l+FQ5VmcILDrBCeZ8zIWt8yMvPrY3NjvGyU xk0UDVi+HIA4UnHv0logHtE8xADEkFJeeXkCxOZ4Kt4UbQlTilqkZgMFX clZwV489JL6eKKe2+WbpZDYxB9rzmcQ6U58JYb7QY5lTM5+EvpCiNUfcK 50FjbCRrmVnyUUGZ6zvtjxYfD6oSR8KJsV7RgB4CkkVrMOTVRTj1iisNd g==; X-IronPort-AV: E=McAfee;i="6600,9927,10940"; a="3598249" X-IronPort-AV: E=Sophos;i="6.04,323,1695711600"; d="scan'208";a="3598249" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jan 2024 17:45:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,323,1695711600"; d="scan'208";a="21636790" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmviesa001.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 01 Jan 2024 17:45:44 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 1 Jan 2024 17:45:43 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 1 Jan 2024 17:45:43 -0800 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 1 Jan 2024 17:45:38 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RmIIy3ojw3XRP4BzDyf5GH/LKm2pt6Ar2eiN0Kj82iBnxaWbpds2o0J+iPoD5VsvuAp9T3ZooeDKLMLObwSv6HXtaEDcv0eIlVkYifKwvEShU/qRv0/4nODPlqaDt2Cnf/OBaWjBhgbreeBSQQq3RFlR3Ho7JDE9JigXcS1/thgZDEkWkIkGuQ+6dsP9wD1h/p+MXTwC8aWWUfajBqKFlU4GBCXvusiEmApu4eKhgu9CRisfhnHRKANJxxwFp2caw/AT9Je9LTqx10elrwMMjip9pGJN3OH4lJDmgV92QIKZN1jcusDgPjIaur6zZQKTZgQS6tp8VERLtP/4a48MNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OTXlsRnr/QPU6oEOIF8P78q+YsmA+YhO5Kt9+ObGmWU=; b=kGe4Uyplst1YMqous55nSO0gDFDqdI1cR9C+64mKXcv5PKGxtUxpeMsebGcR4SjM7HKYp4w3su3QyeT8DapumHAokzVJuz4d29YO5qefcVsM1UP16LJql8DDLhZUdN//wUTh808bJx/dGAtkgOtnYPxmUVWjwg3X0kXFaQlf06MeUpxwVouIFUF2aP2JDjvbmHCwHVmSlHJD3Ob3q3OF2fEtpVInYtplLRbC44TXE/jCwPZvM3aAyru21ryKRpMyxlrB4X3h6tWJm9ibCHA/BfjE1CrLms/Pp7dwm5h2M4phPZ1tPinOv10xnm6j8xOKfQdKuc2K4FDopI07iYp6kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CH3PR11MB7937.namprd11.prod.outlook.com (2603:10b6:610:12c::15) by BL1PR11MB5270.namprd11.prod.outlook.com (2603:10b6:208:313::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25; Tue, 2 Jan 2024 01:45:36 +0000 Received: from CH3PR11MB7937.namprd11.prod.outlook.com ([fe80::36df:9084:c6e3:6845]) by CH3PR11MB7937.namprd11.prod.outlook.com ([fe80::36df:9084:c6e3:6845%4]) with mapi id 15.20.7135.023; Tue, 2 Jan 2024 01:45:36 +0000 From: "Dai, Jianhui J" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v2] avcodec/cbs_vp8: Apply clang-format and fix typos. Thread-Index: AdoxhcxeXfNpM6OZQUq1+HUz7+jOWg== Date: Tue, 2 Jan 2024 01:45:35 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR11MB7937:EE_|BL1PR11MB5270:EE_ x-ms-office365-filtering-correlation-id: 2f47fbb9-76ad-4e1f-6b52-08dc0b3483c6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 03RosCnFXAt39L0iXi4QJK5UjwASlJDkGUMN1nUhrBHtk5dT4T4q2krTuvU40cKloWCI93QsYzGGo5Ip+AZ/TDWG3hIrkIDUpki7tVm3TPH5hfEyVIP9N3uRFRo6ILLxhGd9CGVJuJNRgejbyduQ+wTYWZjwbnUIlYdCK25gCX19C9J6X1kq9PoowHfMqVfcFvCjT7mcvU2wRzGdQxWb/JoweyN7MczoPnQd4sAse8ioK9h3k/DjAiQtzgE34LHdLEwtRPjMe3MZ/GlJyr9skZm0JrZkon2fxz5ehI1GKrTyoIFV0UEMv/6muAuDSmbHtM9+mACYAI/MMkUjPnczKq3wRNmE/UN3NCnqIuRMQ8cb/2lKiNhbmwvtriJiskvdEaWPyWvbtf2jdeDQGLxGrB4B6m2sH0awSH6RQrLko6o+wnSqaKXIHZjQ2Fd4mgOOrNKyS4ANbDCEXx6WYNAhlDlaYzWox9aia4ZqGiTqRF7RY5gk9QIyYfsaq0j9YpuBIQCWzVTTipfwkP1qaQcFciPHFrZ7b0k9Klh8mq1+0Gb8rVldcE3ouEFDV0soSns83e3NkNR/b7RBVvQaH1Jbk+lhuJMgoSGyyJTl5JoRO4dPmuSPErgvK+gi3BFQO7lG x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR11MB7937.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(396003)(376002)(346002)(366004)(39860400002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(478600001)(19627235002)(316002)(8676002)(8936002)(52536014)(66946007)(6916009)(66556008)(66446008)(66476007)(64756008)(76116006)(71200400001)(83380400001)(7696005)(6506007)(9686003)(26005)(5660300002)(2906002)(41300700001)(33656002)(38070700009)(122000001)(38100700002)(82960400001)(55016003)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: WDAqAN6de/Tr0+JXa7olyqJ/0Hg4S9wD5rkCaSEgDQezB/K6zN0LqYp4ymkFbwjn9YA5l4CbtNhm7F5oZSaDzPmxAAmnCaP+PQW8enyXeqtfxY817sS7xAo+fn7e8RtVsRvLlrVB9y8c3SZDfaL0MJSOV33DCspDchtNw5acwkdc9LkFP1AaXHnJg4zq9WUhpXjGqZYWGG1ut1PeibUB/BLJQZ8E/4koP+A+jc7hnanxvCS//SmvafQ+PFb4CwnfvCoEwCQ6lkIE8rCHbIdWjE5eVbhGjmJy6llYwMbEEK+a/65Y8x1k/rPc9ybiigVIwM29C6qszPM73BP3OCD3kTS7uttNJUz+eZP3JQVVjw0jQz/CmX88j4/SIWsPwtg7pgcPwKX45/AJDZtahEezw1pzOsX3IVQLwNeK1v2EUDzwpZoTBwXmiT3OXFFW20X/kMYt01PQYmHMN6wH2fUkVs2qpWqI24+F9OJBsX86zkowP8WQ5E4Mwgb/vZCfvNHviHP+JYiGv45Cn8c8YTkYNppDue4bxWn+ChyJS1w4bWMQkzYM7s4WjRIFFZmzs1o4JfQGplFkT3ye48ahkt4oZZZljmB83CRRfRxk0XO+EcHkvEpWiM6B/cKTWbKgzab6vDHDiOtnbE0CjB8+o4IMGFXq8me2zzE+Vc38KaOnmbYBFaTeiug/2zCCSRDg37CxgqFEqtIggiUQRuRt3TA2d8Edjjv0WxqXpXx6aiaJ8QEjkSKHB/gCvOi5/lTqqUbWMQqHRt0rF9JONF6DrLiCPTJJyllHSHa1rJekm+TV1spTYljN3LDvbHbRzHwicxefxkhEwpzyvuiN52pEMgko96q35OkRyjORuooLoc28dVWIMkYYR6pGqHGkGWALA4cvndwO/3r++0UUVCKBf2UI3E7aESIo7so0Gy4ZMLmO8rq/7BJwTgxty4j2OWgXosAPfBO0po4g1m239+MAf7A0Doibw8ZS4q29acisITwHlEpcyXkX1vJZZZbpi+hvX51CSOWmeZFzjTdRfjqejWowmceJVamWScTBUIT6eUtg6FtGW3n7UYturFF6n2RCpkm6igvIdhR97aECUXYY03a0tGRjMBsiKtPTM66EBlKxgMlXV7TovjcNF+6ufyiLyWHnRyLL0HPjEnT5KsX4OZWDF/U5qlID2+/486/NzjsXrTadiEgbnzMlo14CJscthfwDi51xB/azqGzs6h8qP7agpT9uWL3Dm3b+71BV6yD3KxjxUZahF8Yb4X047zD/6NJWhgCy7JfBwpYKiDSPlBjsw6/+/dcl47vbEwRBeBxEJjovYm45R9THmq6ySG6Do9BH9sG2izru1F8ogpnexwPjvbWY1J64l4nB7fB7/+lsW1uREj0iE1RnCuTzfOF+i9Z+rFxaGGPjE2q19Hq0oLPRH3gBVHl02UpMnRqkqY/pAv6edMW3lh7aLZSWUMLzy6tAsRaneW0jT/RbFKKIYmpBMbd9EVUCxm34PJIIvK0xz0C8peWENlig5qlqVCuzJttpz8XyZ/ZdxKBPiRwh7DsYOFMKdaHSECo9/jD+aN2qp34p5SziBvSgI0npbTumVSPA MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR11MB7937.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f47fbb9-76ad-4e1f-6b52-08dc0b3483c6 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jan 2024 01:45:35.6563 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NSa8nkoyKPYeX5/bpcaUXM0vuVBTHyiQ/eE/i494QZ5WrNnLHGh/9/h4v3NQXp4MVdjy0lOFUrv/SqOTzrJaPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5270 X-OriginatorOrg: intel.com Subject: [FFmpeg-devel] [PATCH v2] avcodec/cbs_vp8: Apply clang-format and fix typos. 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: eUidtXaLkcQZ This commit applies clang-format to the source and fixes typos. TETS: ffmpeg -i fate-suite/vp8-test-vectors-r1/* -vcodec copy -bsf:v trace_headers -f null - Signed-off-by: Jianhui Dai --- libavcodec/cbs_vp8.c | 52 ++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/libavcodec/cbs_vp8.c b/libavcodec/cbs_vp8.c index 065156c248..5e6468d1b4 100644 --- a/libavcodec/cbs_vp8.c +++ b/libavcodec/cbs_vp8.c @@ -33,22 +33,22 @@ extern const uint8_t ff_vp8_token_update_probs[4][8][3][11]; typedef struct CBSVP8BoolDecoder { GetBitContext *gbc; - uint8_t value; uint8_t range; - uint8_t count; // Store the number of bits in the `value` buffer. - + uint8_t value; + // Store the number of bits in the `value` buffer. + uint8_t count; } CBSVP8BoolDecoder; -static int cbs_vp8_bool_decoder_init(CBSVP8BoolDecoder *decoder, GetBitContext *gbc) +static int cbs_vp8_bool_decoder_init(CBSVP8BoolDecoder *decoder, + GetBitContext *gbc) { av_assert0(decoder); av_assert0(gbc); decoder->gbc = gbc; - decoder->value = 0; decoder->range = 255; - + decoder->value = 0; decoder->count = 0; return 0; @@ -60,7 +60,7 @@ static bool cbs_vp8_bool_decoder_fill_value(CBSVP8BoolDecoder *decoder) av_assert0(decoder->count <= 8); if (decoder->count == 8) { - return true; + return true; } if (get_bits_left(decoder->gbc) >= bits) { @@ -141,7 +141,7 @@ static int cbs_vp8_bool_decoder_read_unsigned( } if (trace_enable) { - CBS_TRACE_READ_END(); + CBS_TRACE_READ_END(); } *write_to = value; @@ -181,9 +181,11 @@ static int cbs_vp8_bool_decoder_read_signed( return 0; } -static int cbs_vp8_read_unsigned_le(CodedBitstreamContext *ctx, GetBitContext *gbc, - int width, const char *name, - const int *subscripts, uint32_t *write_to) +static int cbs_vp8_read_unsigned_le(CodedBitstreamContext *ctx, + GetBitContext *gbc, int width, + const char *name, const int *subscripts, + uint32_t *write_to, uint32_t range_min, + uint32_t range_max) { int32_t value; @@ -200,6 +202,14 @@ static int cbs_vp8_read_unsigned_le(CodedBitstreamContext *ctx, GetBitContext *g CBS_TRACE_READ_END(); + if (value < range_min || value > range_max) { + av_log(ctx->log_ctx, AV_LOG_ERROR, + "%s out of range: " + "%" PRIu32 ", but must be in [%" PRIu32 ",%" PRIu32 "].\n", + name, value, range_min, range_max); + return AVERROR_INVALIDDATA; + } + *write_to = value; return 0; } @@ -246,15 +256,16 @@ static int cbs_vp8_read_unsigned_le(CodedBitstreamContext *ctx, GetBitContext *g do { \ uint32_t value; \ CHECK(cbs_vp8_read_unsigned_le(ctx, rw, width, #name, \ - SUBSCRIPTS(subs, __VA_ARGS__), &value)); \ + SUBSCRIPTS(subs, __VA_ARGS__), &value, \ + 0, MAX_UINT_BITS(width))); \ current->name = value; \ } while (0) #define fixed(width, name, value) \ do { \ uint32_t fixed_value; \ - CHECK(ff_cbs_read_unsigned(ctx, rw, width, #name, 0, &fixed_value, \ - value, value)); \ + CHECK(cbs_vp8_read_unsigned_le(ctx, rw, width, #name, 0, &fixed_value, \ + value, value)); \ } while (0) #define bc_unsigned_subs(width, prob, enable_trace, name, subs, ...) \ @@ -277,6 +288,15 @@ static int cbs_vp8_read_unsigned_le(CodedBitstreamContext *ctx, GetBitContext *g #include "cbs_vp8_syntax_template.c" +#undef READ +#undef READWRITE +#undef RWContext +#undef CBSVP8BoolCodingRW +#undef xf +#undef fixed +#undef bc_unsigned_subs +#undef bc_signed_subs + static int cbs_vp8_split_fragment(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag, int header) { @@ -328,8 +348,7 @@ static int cbs_vp8_read_unit(CodedBitstreamContext *ctx, return err; pos = get_bits_count(&gbc); - pos /= 8; - av_assert0(pos <= unit->data_size); + av_assert0(pos <= unit->data_size * 8); frame->data_ref = av_buffer_ref(unit->data_ref); if (!frame->data_ref) @@ -363,6 +382,7 @@ static const CodedBitstreamUnitTypeDescriptor cbs_vp8_unit_types[] = { CBS_UNIT_TYPE_END_OF_LIST, }; +// clang-format off const CodedBitstreamType ff_cbs_type_vp8 = { .codec_id = AV_CODEC_ID_VP8,