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 D97444B57A for ; Sat, 8 Jun 2024 19:45:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1758668D6F7; Sat, 8 Jun 2024 22:45:33 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2013.outbound.protection.outlook.com [40.92.73.13]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 643E068D6B5 for ; Sat, 8 Jun 2024 22:45:31 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MCVxSh8liHvXHSYF8Tv/a/iN5MgYYRrkmGK9yagRSXcI9rgQm3i9rsAAfC08qRYHT40hFmiUwLLgDJw5IlpIMKd1tqF80fdC52RLki7JsOEUIi04iLiAR36Ol92ONGFKPgpc0GyaxrFGYE3WCwWGjRvV8vb+iYoFKEWa2TF6USkXTXl9LXhimGWBpK7R+k92prFSPi6pi+jDozQFiaPORXIGsAHD5TWznngcbm57pGAPzUIv3Kaz0/vH9Pz6mbLI0gVGYbc7UlknqpTtUpV+wtFU6IfiIg1/dhsg4WNxgjCHakEuEGQ89uAM+iX9GNWSX4K/NNSDMsepUmgDETEiJQ== 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=6mVFDNEzrQIFCOaGQjRcqGaVVA1GLGJo/mlAwvGqvX8=; b=X35PRwG3lHf+3JsFvr5cq4cWsP10Mxbao/86Bi9XxI7QmwAKuir+Tkx+YWn5WY2LB+YEfMtQqkIYi1oe2DNwxslLLAA9OmJTIs4pNYyEELuZ9J9+ABpjw9bkT/d+k3MIfOlVL8UibewuHE83jT30yfqbroqXyAK36Sjm7aYNPqTKI5s6w/lj/LrWFB4yASxsfPyIUcHn+UyQmkD5iqaftTXqT+VDDWfc14kLJizJrqErIGqor2dQbpKQOleW8NAoVCws5/tA9eWDbY1tnLmRhekf0qqfDmNg2P6deeDz+eWTLn2R4X+rxMdhdgLOaDNF/059wsgq1KLVrSMrCrSOxg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6mVFDNEzrQIFCOaGQjRcqGaVVA1GLGJo/mlAwvGqvX8=; b=EoPPzf0MMERfNfnJRa4e1xgii5b8SAFf1Mi/Dpq4sT2kCalQlOBo45Hp1fhmg0Rzr7XGPY7OxJCTArtGMWZZVMuZ7GmvtplmaEbRxwOGz6I6QW+o6PjA2EIi0fppmPQORu1iEnTNQM/Kpv1VLudCUTp/plqpEO68b58glwE1SelZz7sM4pJIN49TA90w31ifp+B4xxIrQ7tllxdBA9T3ITCnrfogjWBeSFJgr3sH79LjvxqeVPZ8jfXsglLuiEl0xptNWubheIWapD6qiThpCejGTKNhu94ZbpXCa1jmEXN+hBDxFdfnAF+hRjOFjiRtVXbLFrXW2ACMwtnnR3JmTA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0018.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:3d9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.36; Sat, 8 Jun 2024 19:45:29 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7633.021; Sat, 8 Jun 2024 19:45:29 +0000 Message-ID: Date: Sat, 8 Jun 2024 21:45:26 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [IFobDsbWZKpXEl4qIMVvJKR6wGYM0slria80EKJuKGI=] X-ClientProxiedBy: ZRAP278CA0003.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <03f97244-f819-4bd0-8cb5-e6ed637a83e9@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0018:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a59743f-3b62-4842-9cc5-08dc87f38cd1 X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|3412199016|440099019; X-Microsoft-Antispam-Message-Info: 2OE1Jcinr6l5HoF86oB8iza1KXvYJ5BOS0s0eSJE711s7RDeNw+s+t+X2ox6UGukeBPyZdUxJpyYqsQKxcACzoSf3nm8jqQ4bmskdcIJh5A7K7vJVD6vjBQQMLw9Kd608HazscWECw4GczogPr6bwAaiOs6EVj2oCbns+bHoaYXdMDthbUoC8euoqnCAkXGoy4Y+00oOeLx6Y0p/xJF8t5qzaBnl/+ujA//VOGuh+Kru/2BEDPD/c2+wVRLOvrSLQHyiLTtm/aLRclTMUneGaobKvPMdl5fD0QHPavUrSLIFjDnOAHI/jIuaela69EoeY73Fo7++l53XPKhhCsypEcxGl4MLydyH+yw3wGL/4B6qo98vpQ0CHBk3v0udmCerGXsF9OHIWm4m2dsp3t/WRHgikIkCFnNPgr4D60R0vOLjIWv6BHKuW4cCTjaPF5etNdoS8r8gL6XDaGlQlCh8FLT/Aap6noXYi47RsY9c/owIdSvF7UwICeDL5BJQz4bjgThRJOwWUTBby53cb91sJdWlvt3JBBwIDCfP3Jsqiahf1FFTuwEDwDEsO95yJEUy X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eXY5dFg0MjdlVGFaTEJLUG5hejlUekVka2ZSdWlKUHVyWjhseWY4c21nZk1i?= =?utf-8?B?U2hCZ21BRTNMWGVrRjVTNkJTc2VNY1ludlA4MGtyZUxNNHFhNE9SRnVMOFFu?= =?utf-8?B?Y2Uxa1NOcDYyVGlzMVlFNWxkTDdFcytBK0NIRnlSRXlvWkdmdjVFTjQ3K0dx?= =?utf-8?B?b2tIazJqZXRHVXp0NGVVUjdndUh0K2RQN0o5NmVCQTJNaUkwUjZsc0lqQkl4?= =?utf-8?B?R0I4cjhyOHFPYTlIOGora0tuVUFEZTFUbmEwMmFvY3hxQ25hZzRCcTYyZEZ2?= =?utf-8?B?UHd5OXpUdkFTMTVBVTFBQU9TMzNoK3VCWGQrRzFMVi9kdGtQMVZXdGxBRWhG?= =?utf-8?B?ZGVoamcxTHdJVnlGTGd3V0NKYUFBazNubGJWSjg2MW40MTZBa2NzT3ZwaG5C?= =?utf-8?B?bVRTM3owTmRTczJKVTdSbXJJVGtRMUU4SHl2MzJYQVorejZkU0FKUEpnYjNH?= =?utf-8?B?QVNqM0RYajNEWEVVS1V2QzZBR1g4SmlQRWF0SnR2NHVTV211Qlk3WFFHVm5K?= =?utf-8?B?SGt6VWpWdE9SNHhyS0lVZmNxeG5LZVZTT055eERPSXE0b1pmNWpvSWY5aEpu?= =?utf-8?B?NUY0MnFobWhTMUZzaEFkaTRLK2hmNXZFVTNocGlFNXdzd1lQUHRFaE43dnc5?= =?utf-8?B?TkZCNThmYnJnOGU5Nm9mRHRZTDN2MDQ1VGdZZi9jWGhEUkdGQ05pNElIL3VM?= =?utf-8?B?S0dHU3ZOUzhheGJCK0JxSWk3ZFhBRm9vZjZpdXNML0cxbytNd0RRYjZjazRO?= =?utf-8?B?K002YTNsaDBCTVJDT3VtMzlwVHlSODZ1bEJvTE1YTnNLMFVZMDd4cVNBeGtw?= =?utf-8?B?b01HTVNncmkyZjg3eWdMbzlNUE9tOEd4bmJaVzVMTkJQckhLaGcxYzNCY2xm?= =?utf-8?B?bEVtNXlLRTRQQytDSjdJUS80SThINWxRYVdqYlordVhJcW8rN1JuSEQzQTlu?= =?utf-8?B?cWJjdi92cys5S3cwbzhHY2labTJmL1ZETXZVRGZSS2t3dWpXWE1tU3JwRXVZ?= =?utf-8?B?NUlXT214a1k0YTc5bVFwS1NiTUlHdWFENlNBQzIyOWFhb0dNZG5MSE03YzRM?= =?utf-8?B?MFFhY01jTy9oWHp3UDFNKzFuSXRFamY4VnlTODcxRHRPdTViaHhVRGFqeU5B?= =?utf-8?B?djMzMzBoYUJKSWx4RE94Q2FlVVp3MGJwWm5JeGIrRCtuYm8yL3V3eEExN0ls?= =?utf-8?B?Q1FOZXNyRHloTlNkR2FtcWtWbUZ5RmVQREE0YTVUTTBlek5MY1ZaVXMwYXI4?= =?utf-8?B?a3pPU1BmWDhzd1VMbFZlUFV1N2tvQUo4WjVwUG10Vy9MLythK3V5aFpvTjlX?= =?utf-8?B?SjZ3Wmc5WkhxYmxvdk9DcXJYY1lsdEZycExFTlc1ZjA5aDdqN1d3dVJqZ2tI?= =?utf-8?B?b3Z2eUNHbDN4Q0FLcEtZa3dMM1Ayb1QzTWFsbnlnMG1ZK0JOVW9Fd2E4Tmtj?= =?utf-8?B?aHFzaFVtNk1GRkZxNE1MaWlibG1Tb0h1THJKVkg2QXpVZjUzMHc3ZCtqTUJW?= =?utf-8?B?ZkxjQ2ZYN2htQk5QckY0a21OUWM1WndNMHZEVW1TMkZ1alVHeWpPM2VvYlpx?= =?utf-8?B?NVV4SGJBRmxlcTJVSm5XSExvUW9JV0ZhVkVDUjdPUUpGTkF0M1N2cmV4b2I1?= =?utf-8?B?QU56OHJnYmJpUlFGUmtNVThlcGhJQVdLZjZBZkxtZyt2TW50RTE0Q01CUDBP?= =?utf-8?B?NDVjTnllZGl4dkhqc1dFcFFRZzJpN3BBZHJucWpyTm5CZCt1Ly83aFhBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a59743f-3b62-4842-9cc5-08dc87f38cd1 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jun 2024 19:45:29.1355 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8P250MB0018 Subject: Re: [FFmpeg-devel] [PATCH 1/2] avcodec/dnxhdenc: Move PutBitContext from ctx to stack 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: Andreas Rheinhardt: > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/dnxhdenc.c | 33 +++++++++++++++++---------------- > 1 file changed, 17 insertions(+), 16 deletions(-) > > diff --git a/libavcodec/dnxhdenc.c b/libavcodec/dnxhdenc.c > index 0cb25d7714..4760a2932c 100644 > --- a/libavcodec/dnxhdenc.c > +++ b/libavcodec/dnxhdenc.c > @@ -559,7 +559,7 @@ static int dnxhd_write_header(AVCodecContext *avctx, uint8_t *buf) > return 0; > } > > -static av_always_inline void dnxhd_encode_dc(DNXHDEncContext *ctx, int diff) > +static av_always_inline void dnxhd_encode_dc(PutBitContext *pb, DNXHDEncContext *ctx, int diff) > { > int nbits; > if (diff < 0) { > @@ -568,19 +568,19 @@ static av_always_inline void dnxhd_encode_dc(DNXHDEncContext *ctx, int diff) > } else { > nbits = av_log2_16bit(2 * diff); > } > - put_bits(&ctx->m.pb, ctx->cid_table->dc_bits[nbits] + nbits, > + put_bits(pb, ctx->cid_table->dc_bits[nbits] + nbits, > (ctx->cid_table->dc_codes[nbits] << nbits) + > av_mod_uintp2(diff, nbits)); > } > > static av_always_inline > -void dnxhd_encode_block(DNXHDEncContext *ctx, int16_t *block, > - int last_index, int n) > +void dnxhd_encode_block(PutBitContext *pb, DNXHDEncContext *ctx, > + int16_t *block, int last_index, int n) > { > int last_non_zero = 0; > int slevel, i, j; > > - dnxhd_encode_dc(ctx, block[0] - ctx->m.last_dc[n]); > + dnxhd_encode_dc(pb, ctx, block[0] - ctx->m.last_dc[n]); > ctx->m.last_dc[n] = block[0]; > > for (i = 1; i <= last_index; i++) { > @@ -589,14 +589,14 @@ void dnxhd_encode_block(DNXHDEncContext *ctx, int16_t *block, > if (slevel) { > int run_level = i - last_non_zero - 1; > int rlevel = slevel * (1 << 1) | !!run_level; > - put_bits(&ctx->m.pb, ctx->vlc_bits[rlevel], ctx->vlc_codes[rlevel]); > + put_bits(pb, ctx->vlc_bits[rlevel], ctx->vlc_codes[rlevel]); > if (run_level) > - put_bits(&ctx->m.pb, ctx->run_bits[run_level], > + put_bits(pb, ctx->run_bits[run_level], > ctx->run_codes[run_level]); > last_non_zero = i; > } > } > - put_bits(&ctx->m.pb, ctx->vlc_bits[0], ctx->vlc_codes[0]); // EOB > + put_bits(pb, ctx->vlc_bits[0], ctx->vlc_codes[0]); // EOB > } > > static av_always_inline > @@ -879,9 +879,10 @@ static int dnxhd_encode_thread(AVCodecContext *avctx, void *arg, > int jobnr, int threadnr) > { > DNXHDEncContext *ctx = avctx->priv_data; > + PutBitContext pb0, *const pb = &pb0; > int mb_y = jobnr, mb_x; > ctx = ctx->thread[threadnr]; > - init_put_bits(&ctx->m.pb, (uint8_t *)arg + ctx->data_offset + ctx->slice_offs[jobnr], > + init_put_bits(pb, (uint8_t *)arg + ctx->data_offset + ctx->slice_offs[jobnr], > ctx->slice_size[jobnr]); > > ctx->m.last_dc[0] = > @@ -892,8 +893,8 @@ static int dnxhd_encode_thread(AVCodecContext *avctx, void *arg, > int qscale = ctx->mb_qscale[mb]; > int i; > > - put_bits(&ctx->m.pb, 11, qscale); > - put_bits(&ctx->m.pb, 1, avctx->pix_fmt == AV_PIX_FMT_YUV444P10); > + put_bits(pb, 11, qscale); > + put_bits(pb, 1, avctx->pix_fmt == AV_PIX_FMT_YUV444P10); > > dnxhd_get_blocks(ctx, mb_x, mb_y); > > @@ -904,13 +905,13 @@ static int dnxhd_encode_thread(AVCodecContext *avctx, void *arg, > ctx->is_444 ? (((i >> 1) % 3) < 1 ? 0 : 4): 4 & (2*i), > qscale, &overflow); > > - dnxhd_encode_block(ctx, block, last_index, n); > + dnxhd_encode_block(pb, ctx, block, last_index, n); > } > } > - if (put_bits_count(&ctx->m.pb) & 31) > - put_bits(&ctx->m.pb, 32 - (put_bits_count(&ctx->m.pb) & 31), 0); > - flush_put_bits(&ctx->m.pb); > - memset(put_bits_ptr(&ctx->m.pb), 0, put_bytes_left(&ctx->m.pb, 0)); > + if (put_bits_count(pb) & 31) > + put_bits(pb, 32 - (put_bits_count(pb) & 31), 0); > + flush_put_bits(pb); > + memset(put_bits_ptr(pb), 0, put_bytes_left(pb, 0)); > return 0; > } > Will apply this patchset tomorrow unless there are objections. - Andreas _______________________________________________ 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".