summaryrefslogtreecommitdiff
path: root/libswscale/x86
Commit message (Collapse)AuthorAge
* swscale: rename uv_off/uv_off2 to uv_off_px/byte.Ronald S. Bultje2011-07-08
|
* swscale: error dithering for 16/9/10-bit to 8-bit.Ronald S. Bultje2011-07-08
| | | | Based on a somewhat similar idea in FFmpeg's swscale copy.
* swscale: fix 16-bit scaling when output is 8-bits.Ronald S. Bultje2011-07-08
| | | | | We would use the second half of the U plane buffer, rather than the V plane buffer, to output the V plane pixels.
* swscale: for >8bit scaling, read in native bit-depth.Ronald S. Bultje2011-07-01
| | | | | | For 9/10bit, it means we don't have to upscale to 16bit before actual scaling or pixel format conversion, and thus a performance gain.
* swscale: implement >8bit scaling support.Ronald S. Bultje2011-06-29
| | | | | | This means that precision is retained when scaling between sample formats with >8 bits per component (48bit RGB, 16bit grayscale, 9/10/16bit YUV).
* swscale: change prototypes of scaled YUV output functions.Ronald S. Bultje2011-06-27
| | | | | | | | Remove unused variables "flags" and "dstFormat" in yuv2packed1, merge source rows per plane for yuv2packed[12], and make every source argument int16_t (some where invalidly set to uint16_t). This prevents stack pollution and is part of the Great Evil Plan to simplify swscale.
* swscale: don't use planar output functions to write to NV12/21.Ronald S. Bultje2011-06-27
| | | | | This prevents a crash when converting to NV12/21 without the bitexact flags enabled.
* swscale: remove unused xInc/srcW arguments from hScale().Ronald S. Bultje2011-06-26
|
* swscale: Remove HAVE_MMX from files that are only compiled with MMX enabled.Diego Biurrun2011-06-15
|
* swscale: Fix compilation with --disable-mmx2.Diego Biurrun2011-06-15
| | | | Some MMX2 functions were being referenced without proper #ifdefs.
* swscale: fix function declaration keywords in x86/swscale_template.c.Ronald S. Bultje2011-06-09
| | | | | | | Remove inline keyword for functions that are only called through their function pointers (and thus cannot be inlined); add av_cold keyword to init function, and use av_always_inline instead of inline for functions that must be inlined for performance reasons.
* swscale: fix types of assembly arguments.Ronald S. Bultje2011-06-08
| | | | | | | | This prevents the following compiler warnings: "warning: initialization from incompatible pointer type". Since the variables are only ever used in inline assembly, their type is actually irrelevant (so the part where it was wrong did not invoke any buggy behaviour).
* swscale: move two macros that are only used once into caller.Ronald S. Bultje2011-06-08
| | | | | This way, they look like regular code, which is easier to understand.
* swscale: reindent x86 init code.Ronald S. Bultje2011-06-07
|
* swscale: extract SWS_FULL_CHR_H_INT conditional into init code.Ronald S. Bultje2011-06-07
|
* swscale: un-special-case yuv2yuvX16_c().Ronald S. Bultje2011-06-07
| | | | | Make yuv2yuvX16_c a function pointer for yuv2yuvX(), so that the function pointer becomes bitdepth-independent.
* swscale: split out x86/swscale_template.c from swscale.c.Ronald S. Bultje2011-06-03
|
* sws: replace all long with int.Anton Khirnov2011-05-28
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: fix crash in bilinear scaling.Ronald S. Bultje2011-05-28
|
* swscale: Remove unused variables in x86 code.Diego Biurrun2011-05-27
| | | | | | | libswscale/x86/swscale_template.c:2072: warning: unused variable ‘canMMX2BeUsed’ libswscale/x86/swscale_template.c:2145: warning: unused variable ‘canMMX2BeUsed’ libswscale/x86/swscale_template.c:2209: warning: unused variable ‘chrVPixBuf’ libswscale/x86/swscale_template.c:2237: warning: unused variable ‘chrVSrcPtr’
* swscale: fix build with --disable-swscale-alpha.Ronald S. Bultje2011-05-27
|
* swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions.Ronald S. Bultje2011-05-27
|
* swscale: fix compile on x86-32.Ronald S. Bultje2011-05-26
|
* swscale: split chroma buffers into separate U/V planes.Ronald S. Bultje2011-05-26
| | | | Preparatory step to implement support for sizes > VOFW.
* rgb2rgb: remove duplicate mmx/mmx2/3dnow/sse2 functions.Ronald S. Bultje2011-05-26
| | | | | | | Many functions have such a prefix, but do not actually use any instructions or features from that set, thus giving the false impression that swscale is highly optimized for a particular system, whereas in reality it is not.
* swscale: reindent h[cy]scale_fast() and updateDitherTables().Ronald S. Bultje2011-05-26
|
* swscale: reformat x86/swscale_template.c.Ronald S. Bultje2011-05-26
| | | | | | Interleave macros and code so that it's easier to find the actual code that belongs to a function. Also reindent where appropriate and remove dead code.
* swscale: remove duplicate mmx/mmx2 functions if they are identical.Ronald S. Bultje2011-05-26
|
* swscale: remove if (c->dstFormat) branch from yuv2packed[12X]().Ronald S. Bultje2011-05-26
| | | | | This allows cutting up the function in much smaller and easier- to-maintain chunks.
* swscale: remove if(full_chr_int) from yuv2packed1().Ronald S. Bultje2011-05-26
| | | | | | If that flag is set, swScale() already proxies the call to yuv2rgbXinC_full(). Therefore, this flag is never set when yuv2packed1() is called.
* swscale: remove if(accurate_rnd) branch from functions.Ronald S. Bultje2011-05-26
|
* swscale: Remove commented-out printf cruft.Diego Biurrun2011-05-26
|
* swscale: Eliminate rgb24toyv12_c() duplication.Michael Niedermayer2011-05-26
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* swscale: remove if(bitexact) branch from functions.Ronald S. Bultje2011-05-24
| | | | | | | Instead, only set the function pointers if bitexact flag is not set during initialization. Since a change in flags triggers a re-init anyway, this doesn't situations where flag values change during runtime.
* swscale: remove if(canMMX2BeUsed) conditional.Ronald S. Bultje2011-05-24
| | | | | | Instead, set function pointers conditionally during init. This patch also reveals a whole branch of dead assembly code that is therefore also removed.
* swscale: remove swScale_{c,MMX,MMX2} duplication.Ronald S. Bultje2011-05-24
|
* swscale: use emms_c().Ronald S. Bultje2011-05-24
|
* swscale: remove dead macro WRITEBGR24OLD.Ronald S. Bultje2011-05-24
|
* swscale: remove AMD3DNOW "optimizations".Ronald S. Bultje2011-05-24
| | | | | | The functions are identical to their MMX counterparts. Thus, pretending that swscale is highly optimized for AMD3DNOW extensions is a poorly executed practical joke at best.
* swscale: remove duplicated x86/ functions.Ronald S. Bultje2011-05-24
|
* swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.Ronald S. Bultje2011-05-24
|
* swscale: fix YUV420P 9/10bit support.Ronald S. Bultje2011-05-11
| | | | | | | Fix handling of input if not in native endianness, and add support for 9/10-bit output. This allows us to force endianness of YUV420P 9/10bit in the H264/10bit fate tests, which should fix them on big-endian systems.
* swscale: fix compilation with --enable-runtime-cpudetectJanne Grunau2011-04-15
|
* swscale: simplify rgb2rgb templatingLuca Barbato2011-04-14
| | | | MMX is always built. Drop the ifdefs
* swscale: further cleanup swscale.cJosh Allmann2011-04-14
| | | | Move x86-specific constants out of swscale.c
* swscale: partially move the arch specific code leftLuca Barbato2011-04-14
| | | | | | | | | | PPC and x86 code is split off from swscale_template.c. Lots of code is still duplicated and should be removed later. Again uniformize the init system to be more similar to the dsputil one. Unset h*scale_fast in the x86 init in order to make the output consistent with the previous status. Thanks to Josh for spotting it.
* swscale: move away x86 specific code from rgb2rgbLuca Barbato2011-04-14
| | | | | | | Keep only the plain C code in the main rgb2rgb.c and move the x86 specific optimizations to x86/rgb2rgb.c Change the initialization pattern a little so some of it can be factorized to behave more like dsputils.
* Add unconditional return statement to yuva420_rgb32_MMX() / yuva420_bgr32_MMX().Diego Biurrun2011-04-11
| | | | | | | | | | | | When HAVE_7REGS was not defined these functions had an empty body causing the following warnings during compilation. In file included from libswscale/x86/yuv2rgb_mmx.c:58: libswscale/x86/yuv2rgb_template.c: In function ‘yuva420_rgb32_MMX’: libswscale/x86/yuv2rgb_template.c:412: warning: no return statement in function returning non-void libswscale/x86/yuv2rgb_template.c: In function ‘yuva420_bgr32_MMX’: libswscale/x86/yuv2rgb_template.c:457: warning: no return statement in function returning non-void Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* consolidate .gitignore patters into a single fileJanne Grunau2011-01-18
| | | | Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>