comparison x86/dsputil_mmx.c @ 12435:fe78a4548d12 libavcodec

Put ff_ prefix on non-static {put_signed,put,add}_pixels_clamped_mmx() functions.
author rbultje
date Mon, 30 Aug 2010 16:22:27 +0000
parents 9f06475db098
children d6d0a43848b4
comparison
equal deleted inserted replaced
12434:7915312dd862 12435:fe78a4548d12
226 #define put_no_rnd_pixels8_3dnow put_no_rnd_pixels8_mmx 226 #define put_no_rnd_pixels8_3dnow put_no_rnd_pixels8_mmx
227 227
228 /***********************************/ 228 /***********************************/
229 /* standard MMX */ 229 /* standard MMX */
230 230
231 void put_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size) 231 void ff_put_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size)
232 { 232 {
233 const DCTELEM *p; 233 const DCTELEM *p;
234 uint8_t *pix; 234 uint8_t *pix;
235 235
236 /* read the pixels */ 236 /* read the pixels */
302 "movq %%mm1, (%0) \n\t"\ 302 "movq %%mm1, (%0) \n\t"\
303 "movq %%mm2, (%0, %3) \n\t"\ 303 "movq %%mm2, (%0, %3) \n\t"\
304 "movq %%mm3, (%0, %3, 2) \n\t"\ 304 "movq %%mm3, (%0, %3, 2) \n\t"\
305 "movq %%mm4, (%0, %1) \n\t" 305 "movq %%mm4, (%0, %1) \n\t"
306 306
307 void put_signed_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size) 307 void ff_put_signed_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size)
308 { 308 {
309 x86_reg line_skip = line_size; 309 x86_reg line_skip = line_size;
310 x86_reg line_skip3; 310 x86_reg line_skip3;
311 311
312 __asm__ volatile ( 312 __asm__ volatile (
318 :"+&r" (pixels), "=&r" (line_skip3) 318 :"+&r" (pixels), "=&r" (line_skip3)
319 :"r" (block), "r"(line_skip) 319 :"r" (block), "r"(line_skip)
320 :"memory"); 320 :"memory");
321 } 321 }
322 322
323 void add_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size) 323 void ff_add_pixels_clamped_mmx(const DCTELEM *block, uint8_t *pixels, int line_size)
324 { 324 {
325 const DCTELEM *p; 325 const DCTELEM *p;
326 uint8_t *pix; 326 uint8_t *pix;
327 int i; 327 int i;
328 328
1849 converted */ 1849 converted */
1850 #if CONFIG_GPL 1850 #if CONFIG_GPL
1851 static void ff_libmpeg2mmx_idct_put(uint8_t *dest, int line_size, DCTELEM *block) 1851 static void ff_libmpeg2mmx_idct_put(uint8_t *dest, int line_size, DCTELEM *block)
1852 { 1852 {
1853 ff_mmx_idct (block); 1853 ff_mmx_idct (block);
1854 put_pixels_clamped_mmx(block, dest, line_size); 1854 ff_put_pixels_clamped_mmx(block, dest, line_size);
1855 } 1855 }
1856 static void ff_libmpeg2mmx_idct_add(uint8_t *dest, int line_size, DCTELEM *block) 1856 static void ff_libmpeg2mmx_idct_add(uint8_t *dest, int line_size, DCTELEM *block)
1857 { 1857 {
1858 ff_mmx_idct (block); 1858 ff_mmx_idct (block);
1859 add_pixels_clamped_mmx(block, dest, line_size); 1859 ff_add_pixels_clamped_mmx(block, dest, line_size);
1860 } 1860 }
1861 static void ff_libmpeg2mmx2_idct_put(uint8_t *dest, int line_size, DCTELEM *block) 1861 static void ff_libmpeg2mmx2_idct_put(uint8_t *dest, int line_size, DCTELEM *block)
1862 { 1862 {
1863 ff_mmxext_idct (block); 1863 ff_mmxext_idct (block);
1864 put_pixels_clamped_mmx(block, dest, line_size); 1864 ff_put_pixels_clamped_mmx(block, dest, line_size);
1865 } 1865 }
1866 static void ff_libmpeg2mmx2_idct_add(uint8_t *dest, int line_size, DCTELEM *block) 1866 static void ff_libmpeg2mmx2_idct_add(uint8_t *dest, int line_size, DCTELEM *block)
1867 { 1867 {
1868 ff_mmxext_idct (block); 1868 ff_mmxext_idct (block);
1869 add_pixels_clamped_mmx(block, dest, line_size); 1869 ff_add_pixels_clamped_mmx(block, dest, line_size);
1870 } 1870 }
1871 #endif 1871 #endif
1872 static void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block) 1872 static void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, DCTELEM *block)
1873 { 1873 {
1874 ff_idct_xvid_mmx (block); 1874 ff_idct_xvid_mmx (block);
1875 put_pixels_clamped_mmx(block, dest, line_size); 1875 ff_put_pixels_clamped_mmx(block, dest, line_size);
1876 } 1876 }
1877 static void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block) 1877 static void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, DCTELEM *block)
1878 { 1878 {
1879 ff_idct_xvid_mmx (block); 1879 ff_idct_xvid_mmx (block);
1880 add_pixels_clamped_mmx(block, dest, line_size); 1880 ff_add_pixels_clamped_mmx(block, dest, line_size);
1881 } 1881 }
1882 static void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block) 1882 static void ff_idct_xvid_mmx2_put(uint8_t *dest, int line_size, DCTELEM *block)
1883 { 1883 {
1884 ff_idct_xvid_mmx2 (block); 1884 ff_idct_xvid_mmx2 (block);
1885 put_pixels_clamped_mmx(block, dest, line_size); 1885 ff_put_pixels_clamped_mmx(block, dest, line_size);
1886 } 1886 }
1887 static void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block) 1887 static void ff_idct_xvid_mmx2_add(uint8_t *dest, int line_size, DCTELEM *block)
1888 { 1888 {
1889 ff_idct_xvid_mmx2 (block); 1889 ff_idct_xvid_mmx2 (block);
1890 add_pixels_clamped_mmx(block, dest, line_size); 1890 ff_add_pixels_clamped_mmx(block, dest, line_size);
1891 } 1891 }
1892 1892
1893 static void vorbis_inverse_coupling_3dnow(float *mag, float *ang, int blocksize) 1893 static void vorbis_inverse_coupling_3dnow(float *mag, float *ang, int blocksize)
1894 { 1894 {
1895 int i; 1895 int i;
2577 c->idct = ff_idct_xvid_mmx; 2577 c->idct = ff_idct_xvid_mmx;
2578 } 2578 }
2579 } 2579 }
2580 } 2580 }
2581 2581
2582 c->put_pixels_clamped = put_pixels_clamped_mmx; 2582 c->put_pixels_clamped = ff_put_pixels_clamped_mmx;
2583 c->put_signed_pixels_clamped = put_signed_pixels_clamped_mmx; 2583 c->put_signed_pixels_clamped = ff_put_signed_pixels_clamped_mmx;
2584 c->add_pixels_clamped = add_pixels_clamped_mmx; 2584 c->add_pixels_clamped = ff_add_pixels_clamped_mmx;
2585 c->clear_block = clear_block_mmx; 2585 c->clear_block = clear_block_mmx;
2586 c->clear_blocks = clear_blocks_mmx; 2586 c->clear_blocks = clear_blocks_mmx;
2587 if ((mm_flags & FF_MM_SSE) && 2587 if ((mm_flags & FF_MM_SSE) &&
2588 !(CONFIG_MPEG_XVMC_DECODER && avctx->xvmc_acceleration > 1)){ 2588 !(CONFIG_MPEG_XVMC_DECODER && avctx->xvmc_acceleration > 1)){
2589 /* XvMCCreateBlocks() may not allocate 16-byte aligned blocks */ 2589 /* XvMCCreateBlocks() may not allocate 16-byte aligned blocks */