Andreas Rheinhardt
b0fb8e82dd
avcodec/get_bits: Avoid reading multiple times in get_bits_long
...
Due to non-byte-alignment a read of 32 bits guarantees only
25 usable bits; therefore get_bits_long() (which is used to
potentially read more than 25 bits) performs two reads in case
it needs to read more than 25 bits and combines the result.
Yet this is not necessary: One can just read 64 bits at a time
to get 32 usable bits (57 would be possible). This commit does so.
This reduced the size of .text by 30144B for GCC 11.4 and 5648B
for Clang 14 (both with -O3).
(get_bits_long() is a building block of show_bits_long()
and get_ue_golomb_long(), so this patch affects these, too.)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-09-10 23:21:05 +02:00
..
2023-08-08 13:46:07 +03:00
2023-09-07 00:42:10 +02:00
2023-08-24 21:07:18 +03:00
2023-09-07 00:42:10 +02:00
2023-09-07 00:24:39 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-07-17 18:48:42 +03:00
2023-09-07 00:39:02 +02:00
2023-07-22 16:18:39 +02:00
2023-09-07 00:39:02 +02:00
2023-07-22 16:18:39 +02:00
2023-07-22 16:18:39 +02:00
2023-09-04 11:04:45 +02:00
2023-09-05 23:21:39 +02:00
2023-09-05 23:21:39 +02:00
2023-09-10 21:22:30 +02:00
2023-08-15 19:09:23 +02:00
2023-09-01 14:26:47 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-10 09:11:09 +02:00
2023-08-28 01:10:13 +02:00
2023-09-10 21:22:30 +02:00
2023-07-29 04:16:59 +02:00
2023-07-17 18:48:42 +03:00
2023-09-10 21:22:30 +02:00
2023-09-08 09:42:25 -03:00
2023-09-04 11:04:45 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:42:10 +02:00
2023-09-01 23:59:14 +02:00
2023-09-07 00:42:10 +02:00
2023-09-10 21:22:30 +02:00
2023-09-07 00:23:30 +02:00
2023-09-07 00:23:30 +02:00
2023-09-04 11:04:45 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-17 10:05:24 -03:00
2023-08-17 10:05:24 -03:00
2023-07-30 21:36:31 +02:00
2023-07-30 21:36:31 +02:00
2023-07-30 21:36:31 +02:00
2023-07-30 21:36:31 +02:00
2023-07-30 21:36:31 +02:00
2023-09-10 21:22:30 +02:00
2023-09-01 14:26:47 +02:00
2023-09-07 00:39:02 +02:00
2023-09-01 14:26:47 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-10 16:40:49 +02:00
2023-08-13 19:13:01 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-07-29 04:16:59 +02:00
2023-09-04 11:04:45 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:42:10 +02:00
2023-08-05 09:40:06 +02:00
2023-08-05 09:40:06 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-07-22 16:18:39 +02:00
2023-09-04 11:04:45 +02:00
2023-09-04 11:04:45 +02:00
2023-09-10 21:22:30 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:39:02 +02:00
2023-09-10 21:22:30 +02:00
2023-09-10 21:22:30 +02:00
2023-09-10 21:22:30 +02:00
2023-09-06 10:27:45 -03:00
2023-09-06 10:27:45 -03:00
2023-08-04 11:50:34 +02:00
2023-09-10 21:22:30 +02:00
2023-07-24 10:37:07 +02:00
2023-07-24 10:37:07 +02:00
2023-07-24 10:37:07 +02:00
2023-07-24 10:37:07 +02:00
2023-07-28 02:12:12 +02:00
2023-07-28 02:12:12 +02:00
2023-09-10 22:44:39 +02:00
2023-09-04 11:04:45 +02:00
2023-09-04 11:04:45 +02:00
2023-07-29 04:16:59 +02:00
2023-07-29 04:22:01 +02:00
2023-09-07 00:42:10 +02:00
2023-08-24 21:07:18 +03:00
2023-08-24 21:07:18 +03:00
2023-09-10 23:21:05 +02:00
2023-09-10 21:22:30 +02:00
2023-08-07 09:50:29 +02:00
2023-08-05 09:40:06 +02:00
2023-08-05 09:40:06 +02:00
2023-08-05 09:40:06 +02:00
2023-09-07 00:39:02 +02:00
2023-09-04 11:04:45 +02:00
2023-08-07 09:50:29 +02:00
2023-09-04 11:04:45 +02:00
2023-08-05 09:40:06 +02:00
2023-07-25 23:17:28 +02:00
2023-07-27 21:45:43 +03:00
2023-07-27 21:45:43 +03:00
2023-09-09 12:09:30 +02:00
2023-09-10 20:05:07 +01:00
2023-08-07 09:50:29 +02:00
2023-07-27 21:45:43 +03:00
2023-07-27 21:45:43 +03:00
2023-09-08 01:32:29 +02:00
2023-09-04 11:04:45 +02:00
2023-09-04 11:04:45 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:42:10 +02:00
2023-09-10 21:22:30 +02:00
2023-09-06 10:27:45 -03:00
2023-09-10 21:22:30 +02:00
2023-07-29 04:16:59 +02:00
2023-07-29 04:16:59 +02:00
2023-09-07 00:39:02 +02:00
2023-08-05 19:52:00 +02:00
2023-09-07 00:42:10 +02:00
2023-08-27 01:36:08 -04:00
2023-08-27 01:36:08 -04:00
2023-08-28 22:11:51 -03:00
2023-08-27 01:36:08 -04:00
2023-09-07 00:42:10 +02:00
2023-07-22 16:18:39 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-27 01:36:03 -04:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-06 10:27:45 -03:00
2023-09-07 00:23:30 +02:00
2023-09-10 17:56:04 +02:00
2023-09-07 00:27:52 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:42:10 +02:00
2023-09-08 01:32:30 +02:00
2023-09-07 00:39:02 +02:00
2023-09-06 10:27:45 -03:00
2023-09-07 00:39:02 +02:00
2023-08-07 09:50:29 +02:00
2023-09-04 11:04:45 +02:00
2023-09-04 11:04:45 +02:00
2023-09-06 10:27:45 -03:00
2023-09-06 10:27:45 -03:00
2023-07-27 21:24:23 +02:00
2023-07-17 16:23:26 +02:00
2023-09-10 21:22:30 +02:00
2023-09-10 21:22:30 +02:00
2023-09-10 21:22:30 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-22 23:46:11 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-22 23:46:11 +02:00
2023-09-07 00:39:02 +02:00
2023-08-08 18:33:21 +02:00
2023-09-07 00:39:02 +02:00
2023-09-05 00:10:53 +02:00
2023-09-07 00:27:52 +02:00
2023-09-04 11:04:45 +02:00
2023-09-10 21:22:30 +02:00
2023-09-10 21:22:30 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-07 09:50:29 +02:00
2023-09-10 21:22:30 +02:00
2023-08-17 12:06:09 +08:00
2023-09-10 21:22:30 +02:00
2023-09-10 21:22:30 +02:00
2023-09-04 11:04:45 +02:00
2023-08-30 23:07:34 +02:00
2023-09-07 20:58:08 +02:00
2023-09-07 00:28:01 +02:00
2023-09-07 00:39:02 +02:00
2023-08-02 18:31:59 +02:00
2023-09-10 21:22:30 +02:00
2023-09-04 11:04:45 +02:00
2023-09-10 21:22:30 +02:00
2023-09-10 21:22:30 +02:00
2023-09-04 11:04:45 +02:00
2023-08-05 09:40:06 +02:00
2023-08-05 09:40:06 +02:00
2023-09-07 20:58:00 +02:00
2023-09-04 21:45:51 +02:00
2023-08-16 21:36:40 +02:00
2023-08-16 21:36:40 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:23:30 +02:00
2023-09-07 12:27:34 +02:00
2023-07-27 21:23:39 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 20:58:00 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:39:02 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:39:02 +02:00
2023-08-07 09:50:29 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:39:02 +02:00
2023-09-07 00:23:30 +02:00
2023-09-07 00:23:30 +02:00
2023-09-10 21:22:30 +02:00
2023-09-08 01:32:30 +02:00
2023-09-04 11:04:45 +02:00
2023-08-07 09:50:29 +02:00
2023-09-07 00:49:11 +02:00
2023-08-07 09:50:29 +02:00
2023-09-10 21:22:30 +02:00
2023-08-07 09:50:29 +02:00
2023-09-08 06:56:43 +02:00
2023-08-24 22:51:25 +02:00
2023-08-24 22:50:57 +02:00
2023-08-07 09:50:29 +02:00
2023-09-08 06:56:43 +02:00
2023-09-08 06:56:43 +02:00
2023-07-24 10:37:07 +02:00
2023-09-02 21:16:20 +02:00
2023-08-16 22:05:14 +02:00
2023-08-15 00:32:45 +02:00
2023-09-01 23:59:11 +02:00
2023-09-10 21:22:30 +02:00
2023-08-23 22:52:26 +02:00
2023-09-06 15:17:12 +02:00
2023-09-10 21:22:30 +02:00