You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avcodec/x86/rv40dsp_init: Remove obsolete MMX(EXT), 3dnow functions
x64 always has MMX, MMXEXT, SSE and SSE2 and this means that some functions for MMX, MMXEXT and 3dnow are always overridden by other functions (unless one e.g. explicitly disables SSE2) for x64. So given that the only systems that benefit from these functions are truely ancient 32bit x86s they are removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
		| @@ -448,9 +448,7 @@ chroma_mc2_mmx_func avg, h264 | ||||
|  | ||||
| INIT_MMX 3dnow | ||||
| chroma_mc8_mmx_func avg, h264, _rnd | ||||
| chroma_mc8_mmx_func avg, rv40 | ||||
| chroma_mc4_mmx_func avg, h264 | ||||
| chroma_mc4_mmx_func avg, rv40 | ||||
|  | ||||
| %macro chroma_mc8_ssse3_func 2-3 | ||||
| cglobal %1_%2_chroma_mc8%3, 6, 7, 8 | ||||
|   | ||||
| @@ -230,20 +230,6 @@ cglobal %1_rv40_qpel_h, 6, 6+npicregs, 12, dst, dststride, src, srcstride, heigh | ||||
|     REP_RET | ||||
| %endmacro | ||||
|  | ||||
| %if ARCH_X86_32 | ||||
| INIT_MMX  mmx | ||||
| FILTER_V  put | ||||
| FILTER_H  put | ||||
|  | ||||
| INIT_MMX  mmxext | ||||
| FILTER_V  avg | ||||
| FILTER_H  avg | ||||
|  | ||||
| INIT_MMX  3dnow | ||||
| FILTER_V  avg | ||||
| FILTER_H  avg | ||||
| %endif | ||||
|  | ||||
| INIT_XMM  sse2 | ||||
| FILTER_H  put | ||||
| FILTER_H  avg | ||||
| @@ -481,12 +467,6 @@ cglobal rv40_weight_func_%1_%2, 6, 7, 8 | ||||
|     REP_RET | ||||
| %endmacro | ||||
|  | ||||
| INIT_MMX mmxext | ||||
| RV40_WEIGHT   rnd,    8, 3 | ||||
| RV40_WEIGHT   rnd,   16, 4 | ||||
| RV40_WEIGHT   nornd,  8, 3 | ||||
| RV40_WEIGHT   nornd, 16, 4 | ||||
|  | ||||
| INIT_XMM sse2 | ||||
| RV40_WEIGHT   rnd,    8, 3 | ||||
| RV40_WEIGHT   rnd,   16, 4 | ||||
|   | ||||
| @@ -44,15 +44,11 @@ void ff_put_rv40_chroma_mc8_mmx  (uint8_t *dst, uint8_t *src, | ||||
|                                   ptrdiff_t stride, int h, int x, int y); | ||||
| void ff_avg_rv40_chroma_mc8_mmxext(uint8_t *dst, uint8_t *src, | ||||
|                                    ptrdiff_t stride, int h, int x, int y); | ||||
| void ff_avg_rv40_chroma_mc8_3dnow(uint8_t *dst, uint8_t *src, | ||||
|                                   ptrdiff_t stride, int h, int x, int y); | ||||
|  | ||||
| void ff_put_rv40_chroma_mc4_mmx  (uint8_t *dst, uint8_t *src, | ||||
|                                   ptrdiff_t stride, int h, int x, int y); | ||||
| void ff_avg_rv40_chroma_mc4_mmxext(uint8_t *dst, uint8_t *src, | ||||
|                                    ptrdiff_t stride, int h, int x, int y); | ||||
| void ff_avg_rv40_chroma_mc4_3dnow(uint8_t *dst, uint8_t *src, | ||||
|                                   ptrdiff_t stride, int h, int x, int y); | ||||
|  | ||||
| #define DECLARE_WEIGHT(opt) \ | ||||
| void ff_rv40_weight_func_rnd_16_##opt(uint8_t *dst, uint8_t *src1, uint8_t *src2, \ | ||||
| @@ -63,7 +59,6 @@ void ff_rv40_weight_func_nornd_16_##opt(uint8_t *dst, uint8_t *src1, uint8_t *sr | ||||
|                                         int w1, int w2, ptrdiff_t stride); \ | ||||
| void ff_rv40_weight_func_nornd_8_##opt (uint8_t *dst, uint8_t *src1, uint8_t *src2, \ | ||||
|                                         int w1, int w2, ptrdiff_t stride); | ||||
| DECLARE_WEIGHT(mmxext) | ||||
| DECLARE_WEIGHT(sse2) | ||||
| DECLARE_WEIGHT(ssse3) | ||||
|  | ||||
| @@ -148,25 +143,6 @@ QPEL_MC_DECL(avg_, _ssse3) | ||||
| QPEL_MC_DECL(put_, _sse2) | ||||
| QPEL_MC_DECL(avg_, _sse2) | ||||
|  | ||||
| #if ARCH_X86_32 | ||||
| #undef LOOPSIZE | ||||
| #undef HCOFF | ||||
| #undef VCOFF | ||||
| #define LOOPSIZE  4 | ||||
| #define HCOFF(x)  (64 * ((x) - 1)) | ||||
| #define VCOFF(x)  (64 * ((x) - 1)) | ||||
|  | ||||
| QPEL_MC_DECL(put_, _mmx) | ||||
|  | ||||
| #define ff_put_rv40_qpel_h_mmxext  ff_put_rv40_qpel_h_mmx | ||||
| #define ff_put_rv40_qpel_v_mmxext  ff_put_rv40_qpel_v_mmx | ||||
| QPEL_MC_DECL(avg_, _mmxext) | ||||
|  | ||||
| #define ff_put_rv40_qpel_h_3dnow  ff_put_rv40_qpel_h_mmx | ||||
| #define ff_put_rv40_qpel_v_3dnow  ff_put_rv40_qpel_v_mmx | ||||
| QPEL_MC_DECL(avg_, _3dnow) | ||||
| #endif | ||||
|  | ||||
| /** @{ */ | ||||
| /** Set one function */ | ||||
| #define QPEL_FUNC_SET(OP, SIZE, PH, PV, OPT)                            \ | ||||
| @@ -207,9 +183,6 @@ DEFINE_FN(avg, 16, ssse3) | ||||
|  | ||||
| #if HAVE_MMX_INLINE | ||||
| DEFINE_FN(put, 8, mmx) | ||||
| DEFINE_FN(avg, 8, mmx) | ||||
| DEFINE_FN(put, 16, mmx) | ||||
| DEFINE_FN(avg, 16, mmx) | ||||
| #endif | ||||
|  | ||||
| av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c) | ||||
| @@ -218,10 +191,7 @@ av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c) | ||||
|  | ||||
| #if HAVE_MMX_INLINE | ||||
|     if (INLINE_MMX(cpu_flags)) { | ||||
|         c->put_pixels_tab[0][15] = put_rv40_qpel16_mc33_mmx; | ||||
|         c->put_pixels_tab[1][15] = put_rv40_qpel8_mc33_mmx; | ||||
|         c->avg_pixels_tab[0][15] = avg_rv40_qpel16_mc33_mmx; | ||||
|         c->avg_pixels_tab[1][15] = avg_rv40_qpel8_mc33_mmx; | ||||
|     } | ||||
| #endif /* HAVE_MMX_INLINE */ | ||||
|  | ||||
| @@ -229,28 +199,11 @@ av_cold void ff_rv40dsp_init_x86(RV34DSPContext *c) | ||||
|     if (EXTERNAL_MMX(cpu_flags)) { | ||||
|         c->put_chroma_pixels_tab[0] = ff_put_rv40_chroma_mc8_mmx; | ||||
|         c->put_chroma_pixels_tab[1] = ff_put_rv40_chroma_mc4_mmx; | ||||
| #if ARCH_X86_32 | ||||
|         QPEL_MC_SET(put_, _mmx) | ||||
| #endif | ||||
|     } | ||||
|     if (EXTERNAL_AMD3DNOW(cpu_flags)) { | ||||
|         c->avg_chroma_pixels_tab[0] = ff_avg_rv40_chroma_mc8_3dnow; | ||||
|         c->avg_chroma_pixels_tab[1] = ff_avg_rv40_chroma_mc4_3dnow; | ||||
| #if ARCH_X86_32 | ||||
|         QPEL_MC_SET(avg_, _3dnow) | ||||
| #endif | ||||
|     } | ||||
|     if (EXTERNAL_MMXEXT(cpu_flags)) { | ||||
|         c->avg_pixels_tab[1][15]        = avg_rv40_qpel8_mc33_mmxext; | ||||
|         c->avg_chroma_pixels_tab[0]     = ff_avg_rv40_chroma_mc8_mmxext; | ||||
|         c->avg_chroma_pixels_tab[1]     = ff_avg_rv40_chroma_mc4_mmxext; | ||||
|         c->rv40_weight_pixels_tab[0][0] = ff_rv40_weight_func_rnd_16_mmxext; | ||||
|         c->rv40_weight_pixels_tab[0][1] = ff_rv40_weight_func_rnd_8_mmxext; | ||||
|         c->rv40_weight_pixels_tab[1][0] = ff_rv40_weight_func_nornd_16_mmxext; | ||||
|         c->rv40_weight_pixels_tab[1][1] = ff_rv40_weight_func_nornd_8_mmxext; | ||||
| #if ARCH_X86_32 | ||||
|         QPEL_MC_SET(avg_, _mmxext) | ||||
| #endif | ||||
|     } | ||||
|     if (EXTERNAL_SSE2(cpu_flags)) { | ||||
|         c->put_pixels_tab[0][15]        = put_rv40_qpel16_mc33_sse2; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user