1
0
mirror of https://git.ffmpeg.org/ffmpeg.git synced 2026-10-24 02:09:03 +03:00
Files
ffmpeg/libavcodec
Andreas Rheinhardt 79080a547a avcodec/x86/h264_chromamc: Use xmm regs in chroma_mc4 SSSE3 functions
Doubling the register size allowed to avoid two pmaddubsw.
It is also ABI compliant (the old version lacked an emms)
and the average versions no longer rely on padding (the old versions
used pavgb with a memory operand reading eight bytes,
although only four are needed).

Old benchmarks (the latter four refer to RV40):
avg_h264_chroma_mc4_8_c:                               145.7 ( 1.00x)
avg_h264_chroma_mc4_8_ssse3:                            32.3 ( 4.51x)
put_h264_chroma_mc4_8_c:                               136.1 ( 1.00x)
put_h264_chroma_mc4_8_ssse3:                            29.0 ( 4.70x)
avg_chroma_mc4_c:                                      162.1 ( 1.00x)
avg_chroma_mc4_ssse3:                                   31.1 ( 5.22x)
put_chroma_mc4_c:                                      137.5 ( 1.00x)
put_chroma_mc4_ssse3:                                   28.6 ( 4.81x)

New benchmarks:
avg_h264_chroma_mc4_8_c:                               146.7 ( 1.00x)
avg_h264_chroma_mc4_8_ssse3:                            26.5 ( 5.53x)
put_h264_chroma_mc4_8_c:                               136.8 ( 1.00x)
put_h264_chroma_mc4_8_ssse3:                            22.5 ( 6.09x)
avg_chroma_mc4_c:                                      165.5 ( 1.00x)
avg_chroma_mc4_ssse3:                                   27.2 ( 6.08x)
put_chroma_mc4_c:                                      138.1 ( 1.00x)
put_chroma_mc4_ssse3:                                   23.2 ( 5.96x)

Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2025-11-06 02:16:28 +01:00
..
2025-11-05 15:13:54 +00:00
…
…
…
…
…
…
…
…
2025-11-05 16:31:59 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
…
2025-08-03 13:48:47 +02:00
2025-07-29 23:38:16 +02:00
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
2025-04-27 15:52:30 +01:00
2025-04-27 15:52:30 +01:00
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-09-22 23:46:29 +00:00
…
…
…
…
…
…
…
…
…
…
…
2025-10-08 20:40:08 +02:00
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
…
…
2025-09-02 17:06:25 +02:00
…
…
…
…
…
…
…
2025-08-07 19:44:59 +00:00
…
2025-08-03 13:19:25 +00:00
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
2025-07-03 20:35:23 +02:00
…
…
…
…
…
…
…
…
…
…
2025-10-30 03:41:24 +01:00
2025-08-11 20:31:09 +02:00
2025-06-23 17:16:42 +10:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-05-13 00:20:23 +02:00
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
2025-06-06 17:21:37 +02:00
…
…
2025-10-28 07:11:26 +01:00
…
2025-08-03 13:19:25 +00:00
2025-08-03 13:19:25 +00:00
…
…
…
…
…
…
2025-07-20 01:05:23 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
2025-05-09 22:26:51 +02:00
2025-08-06 21:04:56 +00:00
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
2025-09-02 17:06:25 +02:00
…
…
…
…
…
…
2025-08-08 18:29:40 +09:00
2025-08-08 18:29:40 +09:00
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
2025-08-03 13:48:47 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-07-03 20:34:51 +02:00
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
2025-07-03 20:35:23 +02:00
…
…
2025-07-03 20:35:32 +02:00
…
…
…
…
…
2025-11-04 10:28:57 +00:00
…
…
…
2025-04-02 09:25:46 +02:00
2025-04-02 09:25:46 +02:00
…
…
…
…
2025-08-11 11:54:31 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
2025-08-03 13:48:47 +02:00
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
…
2025-09-26 06:20:30 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-09-22 23:46:29 +00:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
2025-06-21 22:08:52 +02:00
…
…
…
2025-08-03 13:48:47 +02:00
…
…
2025-08-20 11:20:14 +02:00
…
…
…
…
…
2025-08-03 13:48:47 +02:00
…
…
…
…
2025-04-25 23:01:37 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-08 18:29:40 +09:00
…
…
…
…
…
2025-08-04 09:12:17 +00:00
…
…
…
…
2025-07-03 20:35:23 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…