aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mpegvideoencdsp.c
Commit message (Collapse)AuthorAgeFilesLines
* configure: Factor mpegvideoencdsp out of mpegvideoencAndreas Rheinhardt2025-06-211-1/+1
| | | | | | | This will allow to relax the dependency on mpegvideoenc for several codecs. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/mpegvideoencdsp: convert stride parameters from int to ptrdiff_tRamiro Polla2024-09-011-11/+20
|
* avcodec/mpegvideoencdsp: speed up draw_edges_8_c by inlining it for all used ↵Ramiro Polla2024-08-261-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | edge widths This commit also restricts w to 4, 8, or 16. Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz: before after draw_edges_8_1724_4_c: 46796.5 7141.7 ( 6.55x) draw_edges_8_1724_8_c: 43584.5 7216.5 ( 6.04x) draw_edges_8_1724_16_c: 47007.2 10080.5 ( 4.66x) draw_edges_128_407_4_c: 11199.0 4185.0 ( 2.68x) draw_edges_128_407_8_c: 10660.2 4418.0 ( 2.41x) draw_edges_128_407_16_c: 11800.2 4634.5 ( 2.55x) draw_edges_1080_31_4_c: 1356.5 634.7 ( 2.14x) draw_edges_1080_31_8_c: 1972.0 1430.2 ( 1.38x) draw_edges_1080_31_16_c: 4621.0 4009.7 ( 1.15x) draw_edges_1920_4_4_c: 834.5 795.2 ( 1.05x) draw_edges_1920_4_4_negstride_c: 821.7 802.0 ( 1.02x) draw_edges_1920_4_8_c: 2782.2 2650.7 ( 1.05x) draw_edges_1920_4_8_negstride_c: 2724.7 2670.0 ( 1.02x) draw_edges_1920_4_16_c: 6437.5 6327.7 ( 1.02x) draw_edges_1920_4_16_negstride_c: 6395.2 6349.5 ( 1.01x) A55: before after draw_edges_8_1724_4_c: 52540.4 19739.2 ( 2.66x) draw_edges_8_1724_8_c: 45386.9 19847.4 ( 2.29x) draw_edges_8_1724_16_c: 51995.4 23284.7 ( 2.23x) draw_edges_128_407_4_c: 13401.1 6988.2 ( 1.92x) draw_edges_128_407_8_c: 12218.4 7527.9 ( 1.62x) draw_edges_128_407_16_c: 13695.9 8207.2 ( 1.67x) draw_edges_1080_31_4_c: 3702.9 3110.4 ( 1.19x) draw_edges_1080_31_8_c: 6015.6 5643.2 ( 1.07x) draw_edges_1080_31_16_c: 12281.9 11901.4 ( 1.03x) draw_edges_1920_4_4_c: 3957.9 3970.2 ( 1.00x) draw_edges_1920_4_4_negstride_c: 3964.1 3825.2 ( 1.04x) draw_edges_1920_4_8_c: 7757.9 7676.4 ( 1.01x) draw_edges_1920_4_8_negstride_c: 7923.6 7812.4 ( 1.01x) draw_edges_1920_4_16_c: 14791.6 15143.9 ( 0.98x) draw_edges_1920_4_16_negstride_c: 14788.6 15163.4 ( 0.98x) A76: before after draw_edges_8_1724_4_c: 39786.0 4968.5 ( 8.01x) draw_edges_8_1724_8_c: 32971.5 5069.5 ( 6.50x) draw_edges_8_1724_16_c: 40056.0 6017.2 ( 6.66x) draw_edges_128_407_4_c: 9517.2 1210.5 ( 7.86x) draw_edges_128_407_8_c: 8035.7 1346.2 ( 5.97x) draw_edges_128_407_16_c: 9946.5 1648.2 ( 6.03x) draw_edges_1080_31_4_c: 1308.0 660.7 ( 1.98x) draw_edges_1080_31_8_c: 1785.5 1270.7 ( 1.41x) draw_edges_1080_31_16_c: 3266.7 2591.5 ( 1.26x) draw_edges_1920_4_4_c: 1151.0 1090.7 ( 1.06x) draw_edges_1920_4_4_negstride_c: 1153.7 1096.5 ( 1.05x) draw_edges_1920_4_8_c: 2220.7 2186.5 ( 1.02x) draw_edges_1920_4_8_negstride_c: 2218.5 2193.5 ( 1.01x) draw_edges_1920_4_16_c: 4324.2 4230.0 ( 1.02x) draw_edges_1920_4_16_negstride_c: 4310.7 4233.0 ( 1.02x)
* avcodec/aarch64/mpegvideoencdsp: add neon implementations for pix_sum and ↵Ramiro Polla2024-08-261-1/+3
| | | | | | | | | | pix_norm1 A55 A76 pix_norm1_c: 478.2 234.2 pix_norm1_neon: 188.2 ( 2.54x) 41.2 ( 5.68x) pix_sum_c: 304.2 244.0 pix_sum_neon: 77.2 ( 3.94x) 21.5 (11.35x)
* lavc/mpegvideoencdsp: R-V V pix_sumRémi Denis-Courmont2024-08-191-0/+2
| | | | | | | | | | T-Head C908: pix_sum_c: 332.2 pix_sum_rvv_i64: 91.2 SpacemiT X60: pix_sum_c: 321.2 pix_sum_rvv_i64: 60.9
* avcodec/mpegvideoencdsp: Allow pointers to const where possibleAndreas Rheinhardt2022-07-311-5/+5
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* all: Replace if (ARCH_FOO) checks by #if ARCH_FOOAndreas Rheinhardt2022-06-151-8/+9
| | | | | | | | | | | | | | | | | | This is more spec-compliant because it does not rely on dead-code elimination by the compiler. Especially MSVC has problems with this, as can be seen in https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html or https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html This commit does not eliminate every instance where we rely on dead code elimination: It only tackles branching to the initialization of arch-specific dsp code, not e.g. all uses of CONFIG_ and HAVE_ checks. But maybe it is already enough to compile FFmpeg with MSVC with whole-programm-optimizations enabled (if one does not disable too many components). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/me_cmp: remove ff_me_cmp_init_static()Muhammad Faiz2018-02-051-1/+1
| | | | | | | Precalculate and constify ff_square_tab. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* Merge commit '0e285c2f908789e96e29bfd969ad5eaaa0eece65'Clément Bœsch2017-03-191-11/+0
|\ | | | | | | | | | | | | * commit '0e285c2f908789e96e29bfd969ad5eaaa0eece65': mpegvideo: Kill some disabled code Merged-by: Clément Bœsch <u@pkh.me>
| * mpegvideo: Kill some disabled codeDiego Biurrun2016-08-171-11/+0
| |
* | Merge commit '892f037c55d86ce36f8705fbeab052189312a13e'Derek Buitenhuis2016-01-271-4/+90
|\| | | | | | | | | | | | | * commit '892f037c55d86ce36f8705fbeab052189312a13e': imgconvert: Move the shrink functions only where needed Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * imgconvert: Move the shrink functions only where neededVittorio Giovara2016-01-211-4/+90
| |
* | avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functionsShivraj Patil2015-07-061-0/+2
| | | | | | | | | | | | | | This patch adds MSA (MIPS-SIMD-Arch) optimizations for mpegvideoencdsp functions in new file mpegvideoencdsp_msa.c Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '2d60444331fca1910510038dd3817bea885c2367'Michael Niedermayer2014-07-171-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '2d60444331fca1910510038dd3817bea885c2367': dsputil: Split motion estimation compare bits off into their own context Conflicts: configure libavcodec/Makefile libavcodec/arm/Makefile libavcodec/dvenc.c libavcodec/error_resilience.c libavcodec/h264.h libavcodec/h264_slice.c libavcodec/me_cmp.c libavcodec/me_cmp.h libavcodec/motion_est.c libavcodec/motion_est_template.c libavcodec/mpeg4videoenc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/x86/Makefile libavcodec/x86/me_cmp_init.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Split motion estimation compare bits off into their own contextDiego Biurrun2014-07-171-1/+1
| |
* | Merge commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b'Michael Niedermayer2014-07-071-0/+31
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b': dsputil: Move draw_edges() to mpegvideoencdsp Conflicts: libavcodec/mpegvideo_enc.c libavcodec/x86/Makefile libavcodec/x86/dsputil_init.c libavcodec/x86/dsputil_mmx.c libavcodec/x86/dsputil_x86.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move draw_edges() to mpegvideoencdspDiego Biurrun2014-07-061-0/+31
| |
* | Merge commit 'c166148409fe8f0dbccef2fe684286a40ba1e37d'Michael Niedermayer2014-07-071-0/+83
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'c166148409fe8f0dbccef2fe684286a40ba1e37d': dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc Conflicts: libavcodec/dsputil.c libavcodec/mpegvideo_enc.c libavcodec/x86/dsputilenc.asm libavcodec/x86/dsputilenc_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoencDiego Biurrun2014-07-061-0/+83
| |
* | Merge commit '8d686ca59db14900ad5c12b547fb8a7afc8b0b94'Michael Niedermayer2014-07-071-5/+6
|/ | | | | | | | | | | | * commit '8d686ca59db14900ad5c12b547fb8a7afc8b0b94': dsputil: Split off *_8x8basis to a separate context Conflicts: libavcodec/dsputil.c libavcodec/mpegvideo_enc.c libavcodec/x86/dsputilenc_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* dsputil: Split off *_8x8basis to a separate contextDiego Biurrun2014-07-061-0/+64