Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-08Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov
2012-09-13swscale: Remove two bogus assertsDiego Biurrun
2012-09-07x86: more specific checks for availability of required assembly capabilitiesDiego Biurrun
2012-08-31x86: Split inline and external assembly #ifdefsDiego Biurrun
2012-08-04x86: build: replace mmx2 by mmxextDiego Biurrun
Refactoring mmx2/mmxext YASM code with cpuflags will force renames. So switching to a consistent naming scheme beforehand is sensible. The name "mmxext" is more official and widespread and also the name of the CPU flag, as reported e.g. by the Linux kernel.
2012-07-30swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.Ronald S. Bultje
2012-07-23swscale: add missing HAVE_INLINE_ASM check.Ronald S. Bultje
The function called in this block is under HAVE_INLINE_ASM itself also.
2012-04-13swscale: K&R formatting cosmetics (part II)Diego Biurrun
Also adjust some comments including wording and typo fixes.
2012-03-06swscale: make filterPos 32bit.Ronald S. Bultje
Fixes overflows for large image sizes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
2012-02-23swscale: fix underflows in firstline calculations for extreme resizes.Ronald S. Bultje
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
2012-02-13swscale: Remove unused variable alpMmxFilter.Diego Biurrun
2012-02-13swscale: handle gray16 as a "planar" YUV format (Y-only, of course).Ronald S. Bultje
This allows removing any gray16-specific code, which is essentially identical to the per-plane code in yuv2plane*().
2012-02-13swscale: use yuv2packed1() functions for unscaled chroma also.Ronald S. Bultje
2012-02-07swscale: split C output functions into separate file.Ronald S. Bultje
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-07swscale: Split C input functions into separate file.Ronald S. Bultje
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-01swscale: remove obsolete comment.Ronald S. Bultje
2012-01-30swscale: more generic check for planar destination formats with alphaPaul B Mahol
Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-09swscale: RGB4444 and BGR444 inputPaul B Mahol
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-05swscale: remove unused U/V arguments from yuv2rgb_write().Ronald S. Bultje
Also document the function somewhat.
2012-01-04swscale: remove obsolete comment.Ronald S. Bultje
2012-01-04swscale: don't show full-chroma-int warning for non-RGB output.Ronald S. Bultje
Non-RGB output always uses full chroma interpolation.
2011-12-18swscale: fix overflows in vertical scaling at top/bottom edges.Ronald S. Bultje
This fixes integer multiplication overflows in RGB48 output (vertical) scaling as detected by IOC. What happens is that for certain types of filters (lanczos, spline, bicubic), the intermediate sum of coefficients in the middle of a filter can be larger than the fixed-point equivalent of 1.0, even if the final sum is 1.0. This is fine and we support that. However, at frame edges, initFilter() will merge the coefficients for the off-screen pixels into the top or bottom pixel, such as to emulate edge extension. This means that suddenly, a single coefficient can be larger than the fixed-point equivalent of 1.0, which the vertical scaling routines do not support. Therefore, remove the merging of coefficients for edges for the vertical scaling filter, and instead add edge detection to the scaler itself so that it copies the pointers (not data) for the edges (i.e. it uses line[0] for line[-1] as well), so that a single coefficient is never larger than the fixed-point equivalent of 1.0.
2011-12-18swscale: fix overflow in gray16 vertical scaling.Ronald S. Bultje
This fixes the same overflow as in the RGB48/16-bit YUV scaling; some filters can overflow both negatively and positively (e.g. spline/lanczos), so we bias a signed integer so it's "half signed" and "half unsigned", and can cover overflows in both directions while maintaining full 31-bit depth. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17swscale: fix integer overflows in RGB pixel writing.Mans Rullgard
We're shifting individual components (8-bit, unsigned) left by 24, so making them unsigned should give the same results without the overflow. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-17swscale: fix overflows in output of RGB48 pixels.Ronald S. Bultje
For certain types of filters where the intermediate sum of coefficients can go above the fixed-point equivalent of 1.0 in the middle of a filter, the sum of a 31-bit calculation can overflow in both directions and can thus not be represented in a 32-bit signed or unsigned integer. To work around this, we subtract 0x40000000 from a signed integer base, so that we're halfway signed/unsigned, which makes it fit even if it overflows. After the filter finishes, we add the scaled bias back after a shift. We use the same trick for 16-bit bpc YUV output routines. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-17swscale: fix overflows in RGB rounding constants.Ronald S. Bultje
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11Remove extraneous semicolonsMans Rullgard
These semicolons cause invalid empty top-level declarations. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-27swscale: fix signed overflow in yuv2mono_X_c_templateMans Rullgard
As old bits are shifted out of the accumulator, they cause signed overflows when they reach the end. Making the variable unsigned fixes this. Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-24swscale: add support for planar RGB input.Ronald S. Bultje
2011-10-22swscale: decide whether to use yuv2plane1/X on a per-plane basis.Ronald S. Bultje
2011-10-22swscale: reintroduce full precision in 16-bit output.Ronald S. Bultje
2011-10-22Split up yuv2yuvX functionsKieran Kunhya
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-22Split out yuv2yuv1 luma and chroma in order to make them generic DSP functionsKieran Kunhya
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21sws/pixfmt/pixdesc: add support for yuv420p9le/be.Ronald S. Bultje
2011-09-23Fix unnecessary shift with 9/10bit vertical scalingKieran Kunhya
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-18swscale: split hScale() function pointer into h[cy]Scale().Ronald S. Bultje
This allows using more specific implementations for chroma/luma, e.g. we can make assumptions on filterSize being constant, thus avoiding that test at runtime.
2011-08-12swscale: use 15-bit intermediates for 9/10-bit scaling.Ronald S. Bultje
2011-08-02Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."Ronald S. Bultje
This reverts commit ac0fb5934893be554a44d2a1eb7a3bc7bf39da4a. It causes valgrind errors which I'll want to investigate before resubmitting this.
2011-08-02swscale: use 15-bit intermediates for 9/10-bit scaling.Ronald S. Bultje
2011-07-09swscale: error dithering for 16/9/10-bit to 8-bit.Ronald S. Bultje
Based on a somewhat similar idea in FFmpeg's swscale copy.
2011-07-09swscale: fix overflow in 16-bit vertical scaling.Ronald S. Bultje
We operated on 31-bits, but with e.g. lanczos scaling, values can add up to beyond 0x80000000, thus leading to output of zeroes. Drop one bit of precision fixes this.
2011-07-09swscale: fix crash in 8-bpc bilinear output without alpha.Ronald S. Bultje
We accessed the alpha array even it wasn't used and didn't exist, hence leading to a NULL pointer segfault.
2011-07-09swscale: fix 16-bit horizontal scaling underflow.Ronald S. Bultje
When using e.g. lanczos scaling, values can drop below 0, so they should never be unsigned.
2011-07-04Remove unused static tables and static inline functions.Diego Biurrun
2011-07-01swscale: for >8bit scaling, read in native bit-depth.Ronald S. Bultje
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.
2011-06-30swscale: fix another yuv range conversion overflow in 16bit scaling.Ronald S. Bultje
2011-06-30swscale: Unbreak build with --enable-smallMohamed Naufal
This fixes building with --enable-small, by using the correct variable name. Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-30swscale: fix yuv range correction when using 16-bit scaling.Ronald S. Bultje
2011-06-29swscale: implement >8bit scaling support.Ronald S. Bultje
This means that precision is retained when scaling between sample formats with >8 bits per component (48bit RGB, 16bit grayscale, 9/10/16bit YUV).
2011-06-28swscale: change prototypes of scaled YUV output functions.Ronald S. Bultje
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.