5#include "libmythbase/mythconfig.h"
16static constexpr uint8_t
PERTEMASK { 0xf };
18static constexpr uint8_t
PERTEDEC { 4 };
21#include "libavutil/cpu.h"
25 return (av_get_cpu_flags() & AV_CPU_FLAG_MMX);
42 for (
int loop=0; loop<bufsize; loop++)
47 int myPos = loop << 1;
48 int myPos2 = myPos + 1;
49 int brutSmypos =
brutS[myPos];
54 brutSmypos =
brutS[myPos2];
61 if ((py>=(
int)ay) || (px>=(
int)ax))
71 int posplusprevX = pos +
prevX;
139 [[maybe_unused]]
int prevY,
140 [[maybe_unused]]
const unsigned int *
expix1,
141 [[maybe_unused]]
unsigned int *
expix2,
static constexpr int8_t PERTEMASK
static constexpr uint8_t BUFFPOINTNB
GoomCoefficients precalCoef
modif d'optim by Jeko : precalcul des 4 coefs résultant des 2 pos
int buffratio
modif by jeko : fixedpoint : buffration = (16:16) (donc 0<=buffration<=2^16)
static constexpr uint8_t PERTEDEC
#define punpckhbw_r2r(regs, regd)
#define movq_m2r(var, reg)
#define packuswb_r2r(regs, regd)
#define psrlw_i2r(imm, reg)
#define punpcklbw_r2r(regs, regd)
#define pmullw_r2r(regs, regd)
#define movd_r2m(reg, var)
#define movd_m2r(var, reg)
#define movq_r2r(regs, regd)
#define pxor_r2r(regs, regd)
#define paddw_r2r(regs, regd)
int zoom_filter_mmx_supported()
void zoom_filter_mmx(int prevX, int prevY, const unsigned int *expix1, unsigned int *expix2, const sintvec &brutS, const sintvec &brutD, int buffratio, const GoomCoefficients &precalCoef)
std::vector< signed int > sintvec
std::array< std::array< int, 16 >, 16 > GoomCoefficients