From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id D37DB470FD for ; Tue, 26 Sep 2023 02:34:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1800E68C9FE; Tue, 26 Sep 2023 05:34:22 +0300 (EEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.115]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BCC0368C622 for ; Tue, 26 Sep 2023 05:34:15 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695695660; x=1727231660; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=Yz8w067ozg0+2krdnFtkxT24HFw8wuyEIwRbsCKTrVo=; b=IOY/AQDsCqq5zQ6ZrNEbNjTVOSJtiq4C7zvaSOjMS7vrwhL3WzMwmMhv fFeWfuUO0J9gtbzu57QtiUjoVuHX9hLHEW2D3Yl+FDfX3XBxn/GwHR7jp WsnVh1Q+42Ngn2luL+c/HDE4wYbmBcwbncBXmIKtJRNCyQPHBRflLc2xr MoMLQ7sBpb2Z/NC6R/72+yi3JpAf6aPySpvGdBWaPZK/TU3DX5r09OrKX BB5pbtACEKs8GMbscEYbQBKCqeohFL+fPf238lVd/lvPY62c7DToUA754 DNsG+RO3/EDU0KeXFtsZkFFz5edMBtMfNoy+E09shLCVwzkSlehxS3zba A==; X-IronPort-AV: E=McAfee;i="6600,9927,10843"; a="381369827" X-IronPort-AV: E=Sophos;i="6.03,176,1694761200"; d="scan'208";a="381369827" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Sep 2023 19:34:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10843"; a="698287457" X-IronPort-AV: E=Sophos;i="6.03,176,1694761200"; d="scan'208";a="698287457" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga003.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 25 Sep 2023 19:34:12 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Mon, 25 Sep 2023 19:34:11 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.32 via Frontend Transport; Mon, 25 Sep 2023 19:34:11 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.177) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Mon, 25 Sep 2023 19:34:11 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fy+gz/Uk/Iiu0ZNSW9grUlxCUAw43SHJQXhZH4MhNq/luceac2oaLuEr4VCu47DoxanMyC2jFz6dHCr0eY6nvWaS7JQ6Sz9eljrkrw9aYA3utgA5LYoe/IDhWoUMPBGqvrhER8h0xw+EvUtwD/eHbrYemtalOJSrdlbJxmYYrzVbIQ1Pu1AS5Ej3V8cviuGH1BJjewn7BW8dyl30J1zhdAnaBqstQ/x3sq6A96qXQ7NzYcljLR97Tyap8/y1EVy1eOMWeUSRYoVllv1btwuwoKs4i2bsIr5Y6MvHx1+BUB8FS9xHBeG232sUHlLFQ7Yf/cG7ldV6dmaoNm9NFe7+1w== 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=Yz8w067ozg0+2krdnFtkxT24HFw8wuyEIwRbsCKTrVo=; b=THWdvPBiJfJ/+1RiFPP7pcX+D/wunipTESCE/UZjXVLSJQyKsk11zpm1tsleFZtZGX8HkpXYsuu+/9KfY9P3+VpKiNgb7fBiSW0oqho0uiC5Ifn6nSBwrUYp1RCZMuXy/NglGVlcRtpiYva96ZSNIKI/HNvGuNXVzwkCxhAip7Ek3LQahML7jWeFBykV/GTvb7QCLX01cP2+cT6IR2rbZxWvmS/nhTqfC6YOJR/ynRbH9eOOzjZGMnGyxaPZtyt1Zy5SS1dNovlJDHSKYB0em8rBlu7iuS79i8agblCP/Rto6W5VSAFBDn8oOuLLMlQRrbwVJcgW4LKYyu/ISQbW+A== 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 PH0PR11MB5030.namprd11.prod.outlook.com (2603:10b6:510:41::5) by SA2PR11MB5161.namprd11.prod.outlook.com (2603:10b6:806:fa::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.19; Tue, 26 Sep 2023 02:34:09 +0000 Received: from PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::e32:a93a:6648:16d7]) by PH0PR11MB5030.namprd11.prod.outlook.com ([fe80::e32:a93a:6648:16d7%7]) with mapi id 15.20.6813.017; Tue, 26 Sep 2023 02:34:09 +0000 From: "Wang, Fei W" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH] cbs_av1: Make fake OBU size length field a write option Thread-Index: AQHZ77e1IGMPSByya0e1sMvpr26mKrAsY/wA Date: Tue, 26 Sep 2023 02:34:09 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.5-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB5030:EE_|SA2PR11MB5161:EE_ x-ms-office365-filtering-correlation-id: 72f71bb2-f5b3-49e0-03b7-08dbbe391004 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: E8XlPRZij7tfTfFt5DJ/HNbCOjmIlq9fdD6xTbZBeh8ZaDNbzoOY4mwRaH/ZmPE+Rxf8F13eD4theTs1e5npmVz4pQiT/imAQvupkOIIs5h4mx7euhEOUg4AoMNUWICkKiKY8BNF/D9HBtN9JLRFCrBeP1vYanlqxU/LvnGiXdrWGoxduhHpIkzBC4ocOaFZ5otVtBg1NZ9o1CmPnaWKPJAApWgXdSwNL8EELlwlaqHyZ2NddhAQbJm79sfQ6IKsXXTOeLJ+21//fJ6pGkUPzKsflU6bP/HfmT/riGfRlMlV8OiDRjZ9TOy/yoXzjJvB4eD6Px5arLhX4W6kYm76lMb3T9yss0bq1iWp5eFhIqw7ScY7eYln//bZkyXxgjOWOTIXDyVOt22GRLIhvulRMMCMa1KLh36gFV5kkzBvHaJ4eNIJFKOgbEcmjQ/8GrYAcVF/KQB7If+hppZZKVA4A1QQAwP/EnL1fdzZp2SpuDERc4vEytQty1Kgj6m4DGb8YcIIdcG1aCYmx2+/Gx2ZFqYk1KOMqCJE65NJBdHPmoe5e600d6/TM1yfpmVRWw4Jtibb5GZ9rmR9IfFnohfvmgZGHyYHgA4Oy6GDh/PMOhI6kx87n4zKTmdawsC2Ui+z x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5030.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(376002)(396003)(39860400002)(366004)(136003)(230922051799003)(451199024)(186009)(1800799009)(2616005)(5660300002)(26005)(41300700001)(2906002)(36756003)(38100700002)(82960400001)(122000001)(38070700005)(86362001)(8676002)(8936002)(83380400001)(66946007)(478600001)(6506007)(6512007)(6486002)(6916009)(19627235002)(316002)(91956017)(66556008)(66476007)(66446008)(76116006)(64756008)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b2hxZWtyU0dyaWwzWGZYRU9ENFhmVVB6bzYxUGwrcm1hcHRuM2o4UXVyc1pM?= =?utf-8?B?SkdOako5NmE1SnMzY2pZR2E0blI1M0ozTGRRYnh1a0h2Q2MwRlBVOFh3TlZv?= =?utf-8?B?bHdBck9NdXhRdjU0WFpwL2IxcWF4dC9hbmFzQzFhU0IzRXp1QzVvOTlsVjc1?= =?utf-8?B?TG16SXViYzNGZkxGQlVodHo4Nlpsa3lPMllUSW9LK0FIdFpxSlBncTZTaTg4?= =?utf-8?B?V0xnZ1VXOURiS2VSUEhaOXQwWnpYQWZjUktnQmQrWVBScGhxU1hObndKZHg2?= =?utf-8?B?Sk5IMDRLTGRva3FrZStOWkdIRlNRZW5rMXNCdjZsdTdEV1pPTE40cm5ZYU01?= =?utf-8?B?RFFJQW45enJEMTZKTDJyQW4rQUNwWjI1THRhd2RvRFFyN0U5TUYvU1ZZcThx?= =?utf-8?B?dmJ6TE1RVmtXWTd5SlFhNmQ1Y1NzaklqK1lMSkc2dFNvZVIyMmZZLzZNZEh2?= =?utf-8?B?RFdpWStxZlNudm11aGZNKy9xK3c4NUtFQ0V3cGRxNFNKeTdDVVEya1dRNWNJ?= =?utf-8?B?eTVlTmNraUdsU0dmQUFqcWZLNlY0TEN1QTlJTStSdlBDMXF5VW9RKzhhZWRZ?= =?utf-8?B?bTkzK3lrVWlsMkFSMHo5ektLcnFRbkFiTzRmVmU2NTdlTFRKaVRyeTBuM3Rt?= =?utf-8?B?UU12NWVMS0c3ZkVodmg5WDZRbVVtTW1KREUvNFdFOXlOZzNKVy9DSGs5TEJS?= =?utf-8?B?R3hCckJLU256MlEvZEtOempjKysyLzZjVjFZRTlOOWc0RGVVSnk0bDg2MUNo?= =?utf-8?B?S3Y4WTcwKzdlanhCVnAvdDdTcTBzb2hOSGFIZy85ZXVla0ZzYmpITk8xN0VO?= =?utf-8?B?S0drOUhudDdabGw5S1pSTkZHdjAvT1Mvais1cUM4bTR5WG11UG90Mmk0Q2Ey?= =?utf-8?B?ZDBlWk9lRmQvMU1jNkhwMTlzMkhmYllzSlpyVjJRaWRZblU4SVVMbjkrdUox?= =?utf-8?B?Qm80YUJ2UkZtRWFibzhyWXR5NFF0ZlFCdkZHcEY1RmJFalRpZFh5N0lmUVor?= =?utf-8?B?dG9MM0JwZG5RZnNaSlkwb1pjdFpLU29sZnRVTUF0VEdXQTVHK1M3VGNIUk1L?= =?utf-8?B?UDVrT0VBNUdodmFRbHJ1bUJCYW55VnA3TXhVUWJ5UERYeE1IbTk4anE3Yk90?= =?utf-8?B?L2l1SlJPWGR0eXREdG9Ta1FQS3pZL0hTN0NNaDFjWFVhdW5mQ3Z1RzBtK0FO?= =?utf-8?B?N0ZSNkkzUlFWRUJSZkhBYVlETEUwSXRlYXVwRldvdnkxSnpsWkZCRHVQVXVT?= =?utf-8?B?a0xTSzNOL0ZTNnJ2YmFJS1BCWERPNDhnSjFCSzY2M2liYVFKdVV1Wk5CVnVw?= =?utf-8?B?VTlWUTl6Vy9MVEtONk9BS0NLRklJR2VwY0xvZCt3UU9yOUFHM3I4T2VSanR6?= =?utf-8?B?OFZaNGwvaGlKdkdlOEhPKytWRmlhVEtscVZ0OU55SUJDYzhyT25pODRtVmF5?= =?utf-8?B?QmhWQVlyc2FmRXZOS1hkZjVxM1luOU43blR2cHhNRHBYSkNzWkgyNnRNR3ZI?= =?utf-8?B?WkNzQTJPSm5RRVJpbHVITVUwN2gvZjQ3a1U4a2ZSRkUzZmhVbVVRZmQrdHFI?= =?utf-8?B?T3F3c210L1VvWjVJeUVUVlNranR2am5IWXRNaE9ZeHNwcWxtNm9rcmRWdHlW?= =?utf-8?B?NHNDUk1PczluQjNFcGdlQmdVQUJGZDBUS3ZvSlN6SEVvaGZWN3lwNVN5Ukt2?= =?utf-8?B?ZjlOcDJ5VWptSXhuQkVOWUhIYnJjR0pCSTljcURCVDF0Uk1tMDV3NWJ1TkRR?= =?utf-8?B?TE5XcWZpTTE0SlhTKzNPMW81UmVLV29rdHA1Q2RMbXdBUWpsR1drd3FWcVF0?= =?utf-8?B?NmErYm5HajVYbGl0Uk8ycy9Gc1d5enZ0SjV2TXJHR3lWZngvSWVCYUtMbHZB?= =?utf-8?B?SzZKZ1pyS0NnSjBacHRKTzQ1US9yK3JTYklGdjcxcWNWN25YQXR5ZDFpdytr?= =?utf-8?B?NVNleUQxclNHUW9RM3ZFQ01lY1JJWE1GQ0JIMFMwSXY2UEZoRlAreEtnYjBa?= =?utf-8?B?SUJVMkZlWmw3cnVZTDRYTTJ3cStFd2JONWgzUGZUTUt0UXA0eUZQVmJTWFhX?= =?utf-8?B?elhDR0JpYkJVRUxsWWhBYXlrR2hzUXp6Ly9iZnNpUDZHUDZyUzB2enRCWVRy?= =?utf-8?B?ZTVlbjFVSmxkcWJtLzN0cUp3RUdienJwT25SWEdvR0hGVzFXYVY0c29kMEox?= =?utf-8?B?Znc9PQ==?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5030.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 72f71bb2-f5b3-49e0-03b7-08dbbe391004 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2023 02:34:09.4131 (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: pctAJ44rF8r1RVGlOXsmQgn+1RY70/KvXSal0mS0d5pw+Y5ynNOdx5LM5JW14HCaAeQCEOstq+sSGmGir6y82w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5161 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH] cbs_av1: Make fake OBU size length field a write option 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Mon, 2023-09-25 at 14:53 +0100, Mark Thompson wrote: > This is an option to modify the behaviour of the writer, not a syntax > field. > --- > Tested by hacking av1_metadata. For example, adding: > > av_opt_set_int(ctx->common.output->priv_data, > "fixed_obu_size_length", 7, 0); > > gets you OBU headers that look like: > > [trace_headers @ 0x55706fcb2880] OBU header > [trace_headers @ 0x55706fcb2880] > 0 obu_forbidden_bit > 0 = 0 > [trace_headers @ 0x55706fcb2880] > 1 obu_type > 0100 = 4 > [trace_headers @ 0x55706fcb2880] > 5 obu_extension_flag > 0 = 0 > [trace_headers @ 0x55706fcb2880] > 6 obu_has_size_field > 1 = 1 > [trace_headers @ 0x55706fcb2880] > 7 obu_reserved_1bit > 0 = 0 > [trace_headers @ 0x55706fcb2880] > 8 obu_size 10101110100010101000000010000000100000001000000 > 000000000 = 1326 > > It's not obvious that there is any value in exposing this option more > generally, though? It could made a visible option of av1_metadata or > others if there is any use-case for it. > > Thanks, > > - Mark > > > libavcodec/cbs_av1.c | 31 +++++++++++++++++++++---------- > libavcodec/cbs_av1.h | 5 ++++- > libavcodec/vaapi_encode_av1.c | 4 +++- > 3 files changed, 28 insertions(+), 12 deletions(-) > > diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c > index 4e687ace79..ed9a7b80d4 100644 > --- a/libavcodec/cbs_av1.c > +++ b/libavcodec/cbs_av1.c > @@ -138,19 +138,25 @@ static int > cbs_av1_read_leb128(CodedBitstreamContext *ctx, GetBitContext *gbc, > return 0; > } > > -/** Minimum byte length will be used to indicate the len128 of value > if byte_len is 0. */ > static int cbs_av1_write_leb128(CodedBitstreamContext *ctx, > PutBitContext *pbc, > - const char *name, uint64_t value, > uint8_t byte_len) > + const char *name, uint64_t value, > int fixed_length) > { > int len, i; > uint8_t byte; > > CBS_TRACE_WRITE_START(); > > - if (byte_len) > - av_assert0(byte_len >= (av_log2(value) + 7) / 7); > + len = (av_log2(value) + 7) / 7; > > - len = byte_len ? byte_len : (av_log2(value) + 7) / 7; > + if (fixed_length) { > + if (fixed_length < len) { > + av_log(ctx->log_ctx, AV_LOG_ERROR, "OBU is too large for > " > + "fixed length size field (%d > %d).\n", > + len, fixed_length); > + return AVERROR(EINVAL); > + } > + len = fixed_length; > + } > > for (i = 0; i < len; i++) { > if (put_bits_left(pbc) < 8) > @@ -1006,8 +1012,8 @@ static int > cbs_av1_write_obu(CodedBitstreamContext *ctx, > > if (obu->header.obu_has_size_field) { > pbc_tmp = *pbc; > - if (obu->obu_size_byte_len) { > - for (int i = 0; i < obu->obu_size_byte_len; i++) > + if (priv->fixed_obu_size_length) { > + for (int i = 0; i < priv->fixed_obu_size_length; i++) > put_bits(pbc, 8, 0); > } else { > // Add space for the size field to fill later. > @@ -1133,7 +1139,8 @@ static int > cbs_av1_write_obu(CodedBitstreamContext *ctx, > end_pos /= 8; > > *pbc = pbc_tmp; > - err = cbs_av1_write_leb128(ctx, pbc, "obu_size", obu->obu_size, > obu->obu_size_byte_len); > + err = cbs_av1_write_leb128(ctx, pbc, "obu_size", obu->obu_size, > + priv->fixed_obu_size_length); > if (err < 0) > goto error; > > @@ -1150,10 +1157,12 @@ static int > cbs_av1_write_obu(CodedBitstreamContext *ctx, > } > > if (obu->obu_size > 0) { > - if (!obu->obu_size_byte_len) { > - obu->obu_size_byte_len = start_pos - data_pos; > + if (!priv->fixed_obu_size_length) { > memmove(pbc->buf + data_pos, > pbc->buf + start_pos, header_size); > + } else { > + // The size was fixed so the following data was > + // already written in the correct place. > } > skip_put_bytes(pbc, header_size); > > @@ -1273,6 +1282,8 @@ static const CodedBitstreamUnitTypeDescriptor > cbs_av1_unit_types[] = { > static const AVOption cbs_av1_options[] = { > { "operating_point", "Set operating point to select layers to > parse from a scalable bitstream", > OFFSET(operating_point), AV_OPT_TYPE_INT, > { .i64 = -1 }, -1, AV1_MAX_OPERATING_POINTS - 1, 0 }, > + { "fixed_obu_size_length", "Set fixed length of the obu_size > field", > + OFFSET(fixed_obu_size_length), AV_OPT_TYPE_INT, { .i64 = 0 }, > 0, 8, 0 }, > { NULL } > }; > > diff --git a/libavcodec/cbs_av1.h b/libavcodec/cbs_av1.h > index a9e2d2284f..7924257164 100644 > --- a/libavcodec/cbs_av1.h > +++ b/libavcodec/cbs_av1.h > @@ -401,7 +401,6 @@ typedef struct AV1RawOBU { > AV1RawOBUHeader header; > > size_t obu_size; > - uint8_t obu_size_byte_len; > > union { > AV1RawSequenceHeader sequence_header; > @@ -468,6 +467,10 @@ typedef struct CodedBitstreamAV1Context { > > // AVOptions > int operating_point; > + // When writing, fix the length in bytes of the obu_size field. > + // Writing will fail with an error if an OBU larger than can be > + // represented by the fixed size is encountered. > + int fixed_obu_size_length; > } CodedBitstreamAV1Context; > > > diff --git a/libavcodec/vaapi_encode_av1.c > b/libavcodec/vaapi_encode_av1.c > index 3ff1c47b53..861bf4a13b 100644 > --- a/libavcodec/vaapi_encode_av1.c > +++ b/libavcodec/vaapi_encode_av1.c > @@ -133,6 +133,9 @@ static av_cold int > vaapi_encode_av1_configure(AVCodecContext *avctx) > priv->cbc->trace_context = ctx; > priv->cbc->trace_write_callback = > vaapi_encode_av1_trace_write_log; > > + av_opt_set_int(priv->cbc->priv_data, "fixed_obu_size_length", > + priv->attr_ext2.bits.obu_size_bytes_minus1 + 1, > 0); > + This should be put after querying priv.attr_ext2 in vaapi_encode_av1_init(). Thanks Fei > if (ctx->rc_mode->quality) { > priv->q_idx_p = av_clip(ctx->rc_quality, 0, AV1_MAX_QUANT); > if (fabs(avctx->i_quant_factor) > 0.0) > @@ -634,7 +637,6 @@ static int > vaapi_encode_av1_init_picture_params(AVCodecContext *avctx, > } > } > > - fh_obu->obu_size_byte_len = priv- > >attr_ext2.bits.obu_size_bytes_minus1 + 1; > ret = vaapi_encode_av1_add_obu(avctx, obu, > AV1_OBU_FRAME_HEADER, &priv->fh); > if (ret < 0) > goto end; _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".