Commit 17ac9980 authored by Christophe Gisquet's avatar Christophe Gisquet Committed by Michael Niedermayer

x86: hpeldsp: mark _xy2 versions as approximate

Currently, only the mmx version is bitexact, the others (mmxext and
3dnow) are not, in spite of their naming.

Therefore, make their name more obvious. Also restore a comment that
was removed in 71155d7b.
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent f8de35eb
...@@ -451,8 +451,10 @@ AVG_PIXELS8_Y2 ...@@ -451,8 +451,10 @@ AVG_PIXELS8_Y2
; void ff_avg_pixels8_xy2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) ; void ff_avg_pixels8_xy2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
%macro AVG_PIXELS8_XY2 0 ; Note this is not correctly rounded, and is therefore used for
cglobal avg_pixels8_xy2, 4,5 ; not-bitexact output
%macro AVG_APPROX_PIXELS8_XY2 0
cglobal avg_approx_pixels8_xy2, 4,5
mova m6, [pb_1] mova m6, [pb_1]
lea r4, [r2*2] lea r4, [r2*2]
mova m0, [r1] mova m0, [r1]
...@@ -489,6 +491,6 @@ cglobal avg_pixels8_xy2, 4,5 ...@@ -489,6 +491,6 @@ cglobal avg_pixels8_xy2, 4,5
%endmacro %endmacro
INIT_MMX mmxext INIT_MMX mmxext
AVG_PIXELS8_XY2 AVG_APPROX_PIXELS8_XY2
INIT_MMX 3dnow INIT_MMX 3dnow
AVG_PIXELS8_XY2 AVG_APPROX_PIXELS8_XY2
...@@ -74,10 +74,10 @@ void ff_avg_pixels8_y2_mmxext(uint8_t *block, const uint8_t *pixels, ...@@ -74,10 +74,10 @@ void ff_avg_pixels8_y2_mmxext(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int h); ptrdiff_t line_size, int h);
void ff_avg_pixels8_y2_3dnow(uint8_t *block, const uint8_t *pixels, void ff_avg_pixels8_y2_3dnow(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int h); ptrdiff_t line_size, int h);
void ff_avg_pixels8_xy2_mmxext(uint8_t *block, const uint8_t *pixels, void ff_avg_approx_pixels8_xy2_mmxext(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int h); ptrdiff_t line_size, int h);
void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels, void ff_avg_approx_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels,
ptrdiff_t line_size, int h); ptrdiff_t line_size, int h);
#define avg_pixels8_mmx ff_avg_pixels8_mmx #define avg_pixels8_mmx ff_avg_pixels8_mmx
#define avg_pixels8_x2_mmx ff_avg_pixels8_x2_mmx #define avg_pixels8_x2_mmx ff_avg_pixels8_x2_mmx
...@@ -156,7 +156,7 @@ CALL_2X_PIXELS_EXPORT(ff_put_pixels16_xy2_mmx, ff_put_pixels8_xy2_mmx, 8) ...@@ -156,7 +156,7 @@ CALL_2X_PIXELS_EXPORT(ff_put_pixels16_xy2_mmx, ff_put_pixels8_xy2_mmx, 8)
CALL_2X_PIXELS(avg_pixels16 ## CPUEXT, ff_avg_pixels8 ## CPUEXT, 8) \ CALL_2X_PIXELS(avg_pixels16 ## CPUEXT, ff_avg_pixels8 ## CPUEXT, 8) \
CALL_2X_PIXELS(avg_pixels16_x2 ## CPUEXT, ff_avg_pixels8_x2 ## CPUEXT, 8) \ CALL_2X_PIXELS(avg_pixels16_x2 ## CPUEXT, ff_avg_pixels8_x2 ## CPUEXT, 8) \
CALL_2X_PIXELS(avg_pixels16_y2 ## CPUEXT, ff_avg_pixels8_y2 ## CPUEXT, 8) \ CALL_2X_PIXELS(avg_pixels16_y2 ## CPUEXT, ff_avg_pixels8_y2 ## CPUEXT, 8) \
CALL_2X_PIXELS(avg_pixels16_xy2 ## CPUEXT, ff_avg_pixels8_xy2 ## CPUEXT, 8) CALL_2X_PIXELS(avg_approx_pixels16_xy2## CPUEXT, ff_avg_approx_pixels8_xy2## CPUEXT, 8)
HPELDSP_AVG_PIXELS16(_3dnow) HPELDSP_AVG_PIXELS16(_3dnow)
HPELDSP_AVG_PIXELS16(_mmxext) HPELDSP_AVG_PIXELS16(_mmxext)
...@@ -223,8 +223,8 @@ static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags, int cpu_flags) ...@@ -223,8 +223,8 @@ static void hpeldsp_init_mmxext(HpelDSPContext *c, int flags, int cpu_flags)
c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_mmxext; c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_mmxext;
c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_mmxext; c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_mmxext;
c->avg_pixels_tab[0][3] = avg_pixels16_xy2_mmxext; c->avg_pixels_tab[0][3] = avg_approx_pixels16_xy2_mmxext;
c->avg_pixels_tab[1][3] = ff_avg_pixels8_xy2_mmxext; c->avg_pixels_tab[1][3] = ff_avg_approx_pixels8_xy2_mmxext;
} }
if (flags & CODEC_FLAG_BITEXACT && CONFIG_VP3_DECODER) { if (flags & CODEC_FLAG_BITEXACT && CONFIG_VP3_DECODER) {
...@@ -257,8 +257,8 @@ static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int cpu_flags) ...@@ -257,8 +257,8 @@ static void hpeldsp_init_3dnow(HpelDSPContext *c, int flags, int cpu_flags)
c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_3dnow; c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_3dnow;
c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_3dnow; c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_3dnow;
c->avg_pixels_tab[0][3] = avg_pixels16_xy2_3dnow; c->avg_pixels_tab[0][3] = avg_approx_pixels16_xy2_3dnow;
c->avg_pixels_tab[1][3] = ff_avg_pixels8_xy2_3dnow; c->avg_pixels_tab[1][3] = ff_avg_approx_pixels8_xy2_3dnow;
} }
if (flags & CODEC_FLAG_BITEXACT && CONFIG_VP3_DECODER) { if (flags & CODEC_FLAG_BITEXACT && CONFIG_VP3_DECODER) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment