Mercurial > libavcodec.hg
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 */ |