mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-14 19:10:09 +01:00
The only difference between it and the H.264/VC-1 versions is the bias constant which depends on the shift parameters for RV40. This value ends up in a register and therefore one can reuse the H.264 code by setting the registers for RV40 and then jumping into the relevant H.264 function, making the four new functions cheap (just 256 bytes in total). This approach uses one jump more for the no-filter case and one jump less in the one-dimensional case than an approach using separate functions. avg_chroma_mc4_c: 167.5 ( 1.00x) avg_chroma_mc4_mmxext: 48.1 ( 3.48x) avg_chroma_mc4_ssse3: 31.1 ( 5.39x) avg_chroma_mc8_c: 325.5 ( 1.00x) avg_chroma_mc8_mmxext: 103.2 ( 3.15x) avg_chroma_mc8_ssse3: 33.5 ( 9.71x) put_chroma_mc4_c: 137.4 ( 1.00x) put_chroma_mc4_mmx: 44.5 ( 3.09x) put_chroma_mc4_ssse3: 28.4 ( 4.83x) put_chroma_mc8_c: 271.4 ( 1.00x) put_chroma_mc8_mmx: 99.9 ( 2.72x) put_chroma_mc8_ssse3: 30.6 ( 8.86x) Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
31 KiB
31 KiB