This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 815526b2e5d39d86162da6f89ce8d519f84e3591 Author: Kacper Michajłow <[email protected]> AuthorDate: Mon Oct 26 07:27:06 2026 +0100 Commit: Kacper Michajłow <[email protected]> CommitDate: Mon Nov 2 07:24:04 2026 +0000 avcodec/ppc/blockdsp: move the AltiVec clear_block to its own file The dcbz functions and the init run on every CPU. Move the AltiVec clear_block to blockdsp_altivec.c, like libavutil/ppc/float_dsp, so blockdsp.c holds no AltiVec code and can be built without the AltiVec flags. Signed-off-by: Kacper Michajłow <[email protected]> --- libavcodec/ppc/Makefile | 4 ++++ libavcodec/ppc/blockdsp.c | 19 ++--------------- .../ppc/{hpeldsp_altivec.h => blockdsp_altivec.c} | 24 +++++++++++++--------- .../{aarch64/fdct.h => ppc/blockdsp_altivec.h} | 8 ++++---- 4 files changed, 24 insertions(+), 31 deletions(-) diff --git a/libavcodec/ppc/Makefile b/libavcodec/ppc/Makefile index 06df54089a..1970bd4942 100644 --- a/libavcodec/ppc/Makefile +++ b/libavcodec/ppc/Makefile @@ -24,3 +24,7 @@ OBJS-$(CONFIG_MPEG4_DECODER) += ppc/mpeg4videodsp.o OBJS-$(CONFIG_SVQ1_ENCODER) += ppc/svq1enc_altivec.o OBJS-$(CONFIG_VORBIS_DECODER) += ppc/vorbisdsp_altivec.o OBJS-$(CONFIG_VP7_DECODER) += ppc/vp8dsp_altivec.o + +# AltiVec optimizations +# subsystems +ALTIVEC-OBJS-$(CONFIG_BLOCKDSP) += ppc/blockdsp_altivec.o diff --git a/libavcodec/ppc/blockdsp.c b/libavcodec/ppc/blockdsp.c index d89b77e088..917690995b 100644 --- a/libavcodec/ppc/blockdsp.c +++ b/libavcodec/ppc/blockdsp.c @@ -28,9 +28,9 @@ #include "libavutil/cpu.h" #include "libavutil/mem.h" #include "libavutil/ppc/cpu.h" -#include "libavutil/ppc/util_altivec.h" #include "libavcodec/blockdsp.h" +#include "blockdsp_altivec.h" /* ***** WARNING ***** WARNING ***** WARNING ***** */ /* @@ -127,21 +127,6 @@ static long check_dcbzl_effect(void) return count; } -#if HAVE_ALTIVEC -static void clear_block_altivec(int16_t *block) -{ - LOAD_ZERO; - vec_st(zero_s16v, 0, block); - vec_st(zero_s16v, 16, block); - vec_st(zero_s16v, 32, block); - vec_st(zero_s16v, 48, block); - vec_st(zero_s16v, 64, block); - vec_st(zero_s16v, 80, block); - vec_st(zero_s16v, 96, block); - vec_st(zero_s16v, 112, block); -} -#endif /* HAVE_ALTIVEC */ - av_cold void ff_blockdsp_init_ppc(BlockDSPContext *c) { // common optimizations whether AltiVec is available or not @@ -160,6 +145,6 @@ av_cold void ff_blockdsp_init_ppc(BlockDSPContext *c) if (!PPC_ALTIVEC(av_get_cpu_flags())) return; - c->clear_block = clear_block_altivec; + c->clear_block = ff_clear_block_altivec; #endif /* HAVE_ALTIVEC */ } diff --git a/libavcodec/ppc/hpeldsp_altivec.h b/libavcodec/ppc/blockdsp_altivec.c similarity index 68% copy from libavcodec/ppc/hpeldsp_altivec.h copy to libavcodec/ppc/blockdsp_altivec.c index 590809f539..34531da975 100644 --- a/libavcodec/ppc/hpeldsp_altivec.h +++ b/libavcodec/ppc/blockdsp_altivec.c @@ -20,15 +20,19 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef AVCODEC_PPC_HPELDSP_ALTIVEC_H -#define AVCODEC_PPC_HPELDSP_ALTIVEC_H +#include "libavutil/ppc/util_altivec.h" -#include <stddef.h> -#include <stdint.h> +#include "blockdsp_altivec.h" -void ff_avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, - ptrdiff_t line_size, int h); -void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, - ptrdiff_t line_size, int h); - -#endif /* AVCODEC_PPC_HPELDSP_ALTIVEC_H */ +void ff_clear_block_altivec(int16_t *block) +{ + LOAD_ZERO; + vec_st(zero_s16v, 0, block); + vec_st(zero_s16v, 16, block); + vec_st(zero_s16v, 32, block); + vec_st(zero_s16v, 48, block); + vec_st(zero_s16v, 64, block); + vec_st(zero_s16v, 80, block); + vec_st(zero_s16v, 96, block); + vec_st(zero_s16v, 112, block); +} diff --git a/libavcodec/aarch64/fdct.h b/libavcodec/ppc/blockdsp_altivec.h similarity index 82% copy from libavcodec/aarch64/fdct.h copy to libavcodec/ppc/blockdsp_altivec.h index 0901b53a83..47f64c2054 100644 --- a/libavcodec/aarch64/fdct.h +++ b/libavcodec/ppc/blockdsp_altivec.h @@ -16,11 +16,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef AVCODEC_AARCH64_FDCT_H -#define AVCODEC_AARCH64_FDCT_H +#ifndef AVCODEC_PPC_BLOCKDSP_ALTIVEC_H +#define AVCODEC_PPC_BLOCKDSP_ALTIVEC_H #include <stdint.h> -void ff_fdct_neon(int16_t *block); +void ff_clear_block_altivec(int16_t *block); -#endif /* AVCODEC_AARCH64_FDCT_H */ +#endif /* AVCODEC_PPC_BLOCKDSP_ALTIVEC_H */ -- To stop receiving notification emails like this one, please contact [email protected]. _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
