[FFmpeg-cvslog] postproc/postprocess_template: Use immediate instead of memory load
Andreas Rheinhardt
git at videolan.org
Thu Apr 3 07:28:55 EEST 2025
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Mar 31 16:26:55 2025 +0200| [132a55fd7c54c039c990d377bc20f5b9cce3e22a] | committer: Andreas Rheinhardt
postproc/postprocess_template: Use immediate instead of memory load
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=132a55fd7c54c039c990d377bc20f5b9cce3e22a
---
libpostproc/postprocess.c | 5 ++---
libpostproc/postprocess_altivec_template.c | 2 +-
libpostproc/postprocess_template.c | 6 +++---
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c
index fd74f5c72c..0223bab548 100644
--- a/libpostproc/postprocess.c
+++ b/libpostproc/postprocess.c
@@ -95,6 +95,8 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks
#define TEMP_STRIDE 8
//#define NUM_BLOCKS_AT_ONCE 16 //not used yet
+#define DERING_THRESHOLD 20
+
#if ARCH_X86 && HAVE_INLINE_ASM
DECLARE_ASM_CONST(8, uint64_t, w05)= 0x0005000500050005LL;
DECLARE_ASM_CONST(8, uint64_t, w04)= 0x0004000400040004LL;
@@ -105,9 +107,6 @@ DECLARE_ASM_CONST(8, uint64_t, b08)= 0x0808080808080808LL;
DECLARE_ASM_CONST(8, uint64_t, b80)= 0x8080808080808080LL;
#endif
-DECLARE_ASM_CONST(8, int, deringThreshold)= 20;
-
-
static const struct PPFilter filters[]=
{
{"hb", "hdeblock", 1, 1, 3, H_DEBLOCK},
diff --git a/libpostproc/postprocess_altivec_template.c b/libpostproc/postprocess_altivec_template.c
index a9d4cd29a3..827d6300e5 100644
--- a/libpostproc/postprocess_altivec_template.c
+++ b/libpostproc/postprocess_altivec_template.c
@@ -573,7 +573,7 @@ static inline void dering_altivec(uint8_t src[], int stride, PPContext *c) {
src & stride :-(
*/
uint8_t *srcCopy = src;
- DECLARE_ALIGNED(16, uint8_t, dt)[16] = { deringThreshold };
+ DECLARE_ALIGNED(16, uint8_t, dt)[16] = { DERING_THRESHOLD };
const vector signed int zero = vec_splat_s32(0);
vector unsigned char v_dt = vec_splat(vec_ld(0, dt), 0);
diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c
index 1fa4123896..f0e3c50d88 100644
--- a/libpostproc/postprocess_template.c
+++ b/libpostproc/postprocess_template.c
@@ -888,7 +888,7 @@ FIND_MIN_MAX((%0, %1, 8))
"psubb %%mm7, %%mm6 \n\t" // max - min
"push %%"FF_REG_a" \n\t"
"movd %%mm6, %%eax \n\t"
- "cmpb "MANGLE(deringThreshold)", %%al \n\t"
+ "cmpb $"AV_STRINGIFY(DERING_THRESHOLD)", %%al \n\t"
"pop %%"FF_REG_a" \n\t"
" jb 1f \n\t"
PAVGB(%%mm0, %%mm7) // a=(max + min)/2
@@ -1017,7 +1017,7 @@ DERING_CORE((%0, %1, 8) ,(%%FF_REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,
"1: \n\t"
: : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2), "q"(tmp)
- NAMED_CONSTRAINTS_ADD(deringThreshold,b00,b08)
+ NAMED_CONSTRAINTS_ADD(b00,b08)
: "%"FF_REG_a, "%"FF_REG_d
);
#else // HAVE_7REGS && TEMPLATE_PP_MMXEXT
@@ -1041,7 +1041,7 @@ DERING_CORE((%0, %1, 8) ,(%%FF_REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,
}
avg= (min + max + 1)>>1;
- if(max - min <deringThreshold) return;
+ if (max - min < DERING_THRESHOLD) return;
for(y=0; y<10; y++){
int t = 0;
More information about the ffmpeg-cvslog
mailing list