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 6FB9A48D70 for ; Fri, 24 May 2024 22:06:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 02CE968D5EF; Sat, 25 May 2024 01:05:38 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2056.outbound.protection.outlook.com [40.92.89.56]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AD47668D5B9 for ; Sat, 25 May 2024 01:05:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dO5i9IhgnC6slg3NlG6K6yz8iLcrNJRm0VA8iaONcDySJbgEYwVcmiEDfVjbKHqixKQoxoHi5ly+cDl6wRBFY9Fn+b2qq7BbBIMc6acc/tZ9xUz/wVemwghj6qQpc4eVSROvNY5E6ooUPNz9hbIsXjiTixxnGMwXUby9Tcd7VvWeOT0efnFpa7hTofn00zOBUsRYHdcJqz/qWkgioKQKzwmik1VCKYMrixt3hri/tlkCB4ynWqu45g5hJVKpiIvYu7rKlZryaevmLF3nEGG/5yr/br6Z7ccnkCtz8dnWaaeHzmQJEts8AaJWcUOPc1Abhv3IlP8gt01SJ0XkaCowZA== 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=YnKIN8Dlm1NAZqNiT4vSc2TRTs68qJ3twrNaBr4tqe0=; b=dENuR0htIEWoLD5ZGrGYBx0dBYDimoogi78bY+zfjif6zTiUWuuh/RioIV5iAr3BLuluxICEHNoTTJkmrH5cKlfZJ2FwK36qwCDc6CqRJOy83orGs0dVi5uM41ayJ4O/i1sSbMSnmSkzjZ5YwucHKNEHFRWP1smeSnMcPvRKd+xSjiQHkfuS+xDfNVXdXvnmzUuPAtSFYkd/2Iw1ux0YooPMxDZ4bN2LwvOgkDEjdmos3A1xb4+PmTn2DcBr5Ac/cI2nk2utHGSGzeD4pEd1OWufdgYJPikR76HeQPi9gpg13zPeHnsa1livB4SFio8Iqt2yeaUSCJ/BYtfB5mOpJg== 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=YnKIN8Dlm1NAZqNiT4vSc2TRTs68qJ3twrNaBr4tqe0=; b=g9oig6UYnfL6PxingL2qtv2PstSZOzIoDgwum+xKS3kGpmjQlI+rko5AHwqQm4lA6cFZF6qSbDC6OC/JE5fPJmVuMxo958ttr/OfESKbexP48QpWjq7/8j9JnWr21mTiSjsvMhCZzQaHuYp6IXTIb5bc1USL/TZaq+rHHyD5sUiiYwP+S1nLYGBqcmxv+KnsKC9tc3yfoxirmOTtYjjOpYJNMPD0o0Yh/ORqpeIxJvUmiyalFJi/vJ/9ogLs8GAwowHx1zob/WlNgRsPwMDKTgu84wWhB5y8S1zBR2evAbKmbj/LQ16KuSe8QQEI4OvYtb0CW5Vc4l/WrOB9Px1BGA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0368.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:27d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.22; Fri, 24 May 2024 22:05:21 +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.7611.016; Fri, 24 May 2024 22:05:21 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 25 May 2024 00:04:53 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [PSZoCYwa98AZWJqWyHwHskiI7wlVy5ndEVhdonlV+R4=] X-ClientProxiedBy: ZR0P278CA0194.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::21) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240524220455.1276419-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0368:EE_ X-MS-Office365-Filtering-Correlation-Id: cf52a0e3-7174-4f10-5f85-08dc7c3d9b15 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: PBy3bmHKKY0RqjxJMo7dQ0oyMVoQD8LymyrxzRA4nn8iHbiAkQYlOvO3iqyHGotvO16O/sBQzEM6giDjnDtD0jf2TlUiq7uO3tkifNcajJuwj5MWpaAQubEB19ea2qy+EUlx5KdFS2MNzAzTfOCf73p2sU2lKGkZocfICsEN9ZwAYe30old/xGQlqxnfPZaKZizOWShA6vIWZcoMgXIonkB2rdy74yWiEoPnDdnTCIYoij6yTOgJNuXt277Jd6ExVPH2Q8bVM4YTJflO7Y+JpBkHAMc0lswfVTXzT1MHoGfB57qPAXrKJfTYoiziCsvfNOqmutH0EKkJ/9Qn70vgp+kxONOUH+qypYkfN3nKHu7eeGHi/kkDpiTLsxLIdI/mTszRIiY0tuIuSYBbBKUTctrrvPMuz3uzlHRum55kBuCW/I0Nd77k7szECGmIjNO95azicZ8kUC+y49WM9mfdU9XQjMwqmfuYoMGdZ0AQsasn+CgbxyKf7WZtU1ejJHvyU/o1WWIuqCzWTSqLtHctLI+hsqthdTdEOP79rdB2LsIAWY5C9yuXSzD6caRkaG7sZ/c9YcUbYixU4Ibvvqiwg/gTMTaQhAQN44LrqL0CUqu59618wLVLIGET6abeJ/sf X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BNsrHPEJzknxJJNrZu4Tk0kxA7syi9byHC8a5qnjrtleRc+KKgVORj473GLV?= =?us-ascii?Q?ZyMyNCpNHEwmGm3NJnIluuecJxp5JAgcletwPDrKzDnXzfTNVey8/KcC4XCE?= =?us-ascii?Q?iM23BTa4JRrhNhoLwzDuW9J5LvKdX2pG1A1YnHhI+5BUJJjX2Vn4xC8JwTRG?= =?us-ascii?Q?33Bkwb0pBKbADZ0KuCaHHPCSXgET6JwS9n6H01F5cLna7sP071rYKV4LK6/k?= =?us-ascii?Q?On74rXitfP6doZl2ssZxFrXrFGPVpWwntNAbrixJ1CQNu9Mdp1ziLOwJWqq9?= =?us-ascii?Q?MFom6B+QEZmyWfw/PjN9XD4CSGe3p8G5eBZQMUALKODcH49Jy8YMfsLQS/MC?= =?us-ascii?Q?S1wxN5MDx32QvTqEB5elMYHTwcVGuqxfmIeFHu6emYVjXH4xWl79ZRHur2+W?= =?us-ascii?Q?DMmHxCLt4A9BJJR6ZiBbMLLN1eaSDOrdh1Ky9ty8NKKkBQwLzJVVnAiR81ke?= =?us-ascii?Q?BGTukubgUuoWRMyKLpKZWl5iVlD+wYEL+vwuGBmJgiipGxSm4biHvGQhXMI/?= =?us-ascii?Q?CnbrQ1WBvhKPs2dyVW+rd7kx1lQv31+7Xz/yMIejFZ+3GUalKom+xfnokRFW?= =?us-ascii?Q?qRRLBx3/fRf6tK6FbRB9ZbgOihvgzOMNma3wRxnDCjK9LSikBfqYr3obHKTY?= =?us-ascii?Q?BK2CpAxqkBihs3l67uRYxL/Dts2aYQo13O+4JKemp4VD+6nC267K6SRXdeDt?= =?us-ascii?Q?CyIE28T8Z9wbvYy7GJ6x9V+jvfHOyV8SPfN5DNAmpBEQkXLvLPNuN+c5T71o?= =?us-ascii?Q?F1MqWXFby62fWVTCnvscFPjfj24QaLHOJN3ggmsky+HC8gPFhNTPOqAaZLOk?= =?us-ascii?Q?1OlZjutIr8dydqUmCuVpBbOknWWXjD/+brs2FV00u8mbEe4eV99ocJb8Rh70?= =?us-ascii?Q?hJcuGgMaz2rewm5RTl5BLKrAy01Zx1RWsiIfP/1ft4BFYJ14ldLMjC/ml45M?= =?us-ascii?Q?ns9fwMGiDjuJLKqZ7eee+36DQVctdMqv+kZBW+E8PvuTU+wtMSqy3QS6/r1Q?= =?us-ascii?Q?nPNVuV8aFmVth6vevVnMPMdaWaWBsdDE0PvfqWf++YxoR7qHZ/QXpQf5kcpN?= =?us-ascii?Q?Q5Gku8NCEXCKdUQ0NjCHypcfW8eQy7UmAjOo9WnFWMfz7BaKCSxK2+s8dWKP?= =?us-ascii?Q?7UIlS1NHeN+z9wB2dHc9cs3qQMIgjYt2JflEaNkoj1icdMbA14Oj4i9UvRqO?= =?us-ascii?Q?6IZ3kES4qZhj3Y49Jd7w4uGC6g9Vz+2O6ZFsjMMVec2SvGSWqqGw0PvrNZrS?= =?us-ascii?Q?nrbHOpP5fla9vx7nsaRZxRJgv1NcqTpNvHDGBgwuWw=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf52a0e3-7174-4f10-5f85-08dc7c3d9b15 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 May 2024 22:05:21.8574 (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: DU2P250MB0368 Subject: [FFmpeg-devel] [PATCH 10/12] avcodec/put_bits: Allow to mark places where PutBitContext is flushed 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: Andreas Rheinhardt 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: This will allow the compiler to optimize the "is the cache full?" branches away from some put_bits(). Signed-off-by: Andreas Rheinhardt --- libavcodec/put_bits.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/put_bits.h b/libavcodec/put_bits.h index 4561dc131a..79bad1c214 100644 --- a/libavcodec/put_bits.h +++ b/libavcodec/put_bits.h @@ -74,6 +74,16 @@ static inline void init_put_bits(PutBitContext *s, uint8_t *buffer, s->bit_buf = 0; } +/** + * Inform the compiler that a PutBitContext is flushed (i.e. if it has just + * been initialized or flushed). Undefined behaviour occurs if this is used + * with a PutBitContext for which this is not true. + */ +static inline void put_bits_assume_flushed(const PutBitContext *s) +{ + av_assume(s->bit_left == BUF_BITS); +} + /** * @return the total number of bits written to the bitstream. */ -- 2.40.1 _______________________________________________ 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".