Diego Biurrun
							
						 
						
							
							
							
								
							
								588fafe7f3 
								
							
								 
							
						 
						
							
							
								
								x86: MMX2 ---> MMXEXT in macro names  
							
							 
							
							
								
							
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Diego Biurrun
							
						 
						
							
							
							
								
							
								a65bdceb06 
								
							
								 
							
						 
						
							
							
								
								x86: mmx2 ---> mmxext in variable names  
							
							 
							
							
								
							
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Diego Biurrun
							
						 
						
							
							
							
								
							
								652f518594 
								
							
								 
							
						 
						
							
							
								
								x86: mmx2 ---> mmxext in comments and messages  
							
							 
							
							
								
							
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Anton Khirnov
							
						 
						
							
							
							
								
							
								716d413c13 
								
							
								 
							
						 
						
							
							
								
								Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat  
							
							 
							
							
								
							
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Diego Biurrun
							
						 
						
							
							
							
								
							
								239fdf1b4a 
								
							
								 
							
						 
						
							
							
								
								x86: build: replace mmx2 by mmxext  
							
							 
							
							 
							
							
								
							
							
							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. 
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								2254b559cb 
								
							
								 
							
						 
						
							
							
								
								swscale: make filterPos 32bit.  
							
							 
							
							 
							
							
								
							
							
							Fixes overflows for large image sizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org  
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								b18f8cbf3d 
								
							
								 
							
						 
						
							
							
								
								Revert two swscale commits.  
							
							 
							
							 
							
							
								
							
							
							Revert "swscale: update context offsets after removal of AlpMmxFilter."
(commit a95e3fa90b )
and
Revert "swscale: Remove some write-only variables related to alpha handling."
(commit 9d03cb9fc5 ).
They broke alpha handling - it's the evil inline asm that still uses that
variable, so it's not truely write-only. 
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								1bab6f852c 
								
							
								 
							
						 
						
							
							
								
								swscale: make access to filter data conditional on filter type.  
							
							 
							
							 
							
							
								
							
							
							Prevents crashes on 1-tap filter (unscaled). Also rename "bguf" argument
to "vbuf", seems that was a typo. 
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								a95e3fa90b 
								
							
								 
							
						 
						
							
							
								
								swscale: update context offsets after removal of AlpMmxFilter.  
							
							 
							
							
								
							
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								b7542dd3d7 
								
							
								 
							
						 
						
							
							
								
								swscale: fix V plane memory location in bilinear/unscaled RGB/YUYV case.  
							
							 
							
							 
							
							
								
							
							
							Fixes bug 221.
CC: libav-stable@libav.org  
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								b5d08c27c3 
								
							
								 
							
						 
						
							
							
								
								swscale: convert rgb/bgr24ToY/UV_mmx functions from inline asm to yasm.  
							
							 
							
							 
							
							
								
							
							
							Also implement sse2/ssse3/avx versions. 
							
						 
						13 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								b14fa5572c 
								
							
								 
							
						 
						
							
							
								
								swscale: fix crash in fast_bilinear code when compiled with -mred-zone.  
							
							 
							
							 
							
							
								
							
							
							Additional comments from Måns Rullgard have been integrated
by Reinhard Tartler.
Signed-off-by: Reinhard Tartler <siretart@tauware.de> 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								2170a0e6ad 
								
							
								 
							
						 
						
							
							
								
								swscale: convert yuy2/uyvy/nv12/nv21ToY/UV from inline asm to yasm.  
							
							 
							
							 
							
							
								
							
							
							Also implement SSE2/AVX variants. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								c435653627 
								
							
								 
							
						 
						
							
							
								
								swscale: write yuv2plane1 MMX/SSE2/SSE4/AVX functions.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								6cacecdca3 
								
							
								 
							
						 
						
							
							
								
								swscale: make yuv2yuvX_10_sse2/avx 8/9/16-bits aware.  
							
							 
							
							 
							
							
								
							
							
							Also implement MMX/MMX2 versions and SSE4 versions. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Kieran Kunhya
							
						 
						
							
							
							
								
							
								34e8d147b3 
								
							
								 
							
						 
						
							
							
								
								Split out yuv2yuv1 luma and chroma in order to make them generic DSP functions  
							
							 
							
							 
							
							
								
							
							
							Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								e0c3e07387 
								
							
								 
							
						 
						
							
							
								
								sws: implement MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling.  
							
							 
							
							 
							
							
								
							
							
							Speed: from 3.9x to 9.6x speed improvement over C, and some small
(up to 15%) speed improvements over existing MMX code (particularly
for bigger filters). 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								3f04ab4fcd 
								
							
								 
							
						 
						
							
							
								
								swscale: split hScale() function pointer into h[cy]Scale().  
							
							 
							
							 
							
							
								
							
							
							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. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								28c1115a91 
								
							
								 
							
						 
						
							
							
								
								swscale: use 15-bit intermediates for 9/10-bit scaling.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								5c391a161a 
								
							
								 
							
						 
						
							
							
								
								swscale: rename uv_off/uv_off2 to uv_off_px/byte.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								4e3e333a79 
								
							
								 
							
						 
						
							
							
								
								swscale: error dithering for 16/9/10-bit to 8-bit.  
							
							 
							
							 
							
							
								
							
							
							Based on a somewhat similar idea in FFmpeg's swscale copy. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								42d622fab3 
								
							
								 
							
						 
						
							
							
								
								swscale: fix 16-bit scaling when output is 8-bits.  
							
							 
							
							 
							
							
								
							
							
							We would use the second half of the U plane buffer, rather than the
V plane buffer, to output the V plane pixels. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								8a8d0ce208 
								
							
								 
							
						 
						
							
							
								
								swscale: for >8bit scaling, read in native bit-depth.  
							
							 
							
							 
							
							
								
							
							
							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. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								ef1ee362b3 
								
							
								 
							
						 
						
							
							
								
								swscale: implement >8bit scaling support.  
							
							 
							
							 
							
							
								
							
							
							This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV). 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								13a099799e 
								
							
								 
							
						 
						
							
							
								
								swscale: change prototypes of scaled YUV output functions.  
							
							 
							
							 
							
							
								
							
							
							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. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								0d994b2f45 
								
							
								 
							
						 
						
							
							
								
								swscale: don't use planar output functions to write to NV12/21.  
							
							 
							
							 
							
							
								
							
							
							This prevents a crash when converting to NV12/21 without the bitexact
flags enabled. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								97535ffb97 
								
							
								 
							
						 
						
							
							
								
								swscale: remove unused xInc/srcW arguments from hScale().  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								a27db4c349 
								
							
								 
							
						 
						
							
							
								
								swscale: fix function declaration keywords in x86/swscale_template.c.  
							
							 
							
							 
							
							
								
							
							
							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. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								9bcbb250e2 
								
							
								 
							
						 
						
							
							
								
								swscale: fix types of assembly arguments.  
							
							 
							
							 
							
							
								
							
							
							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). 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								496d95c34c 
								
							
								 
							
						 
						
							
							
								
								swscale: move two macros that are only used once into caller.  
							
							 
							
							 
							
							
								
							
							
							This way, they look like regular code, which is easier to
understand. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								0fb5193156 
								
							
								 
							
						 
						
							
							
								
								swscale: reindent x86 init code.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								ca364a5b43 
								
							
								 
							
						 
						
							
							
								
								swscale: extract SWS_FULL_CHR_H_INT conditional into init code.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								bda9b20fa4 
								
							
								 
							
						 
						
							
							
								
								swscale: un-special-case yuv2yuvX16_c().  
							
							 
							
							 
							
							
								
							
							
							Make yuv2yuvX16_c a function pointer for yuv2yuvX(), so that the
function pointer becomes bitdepth-independent. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								983260b0a4 
								
							
								 
							
						 
						
							
							
								
								swscale: split out x86/swscale_template.c from swscale.c.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Anton Khirnov
							
						 
						
							
							
							
								
							
								b8e893399f 
								
							
								 
							
						 
						
							
							
								
								sws: replace all long with int.  
							
							 
							
							 
							
							
								
							
							
							Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								009f829dde 
								
							
								 
							
						 
						
							
							
								
								swscale: fix crash in bilinear scaling.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Diego Biurrun
							
						 
						
							
							
							
								
							
								5a5a0f1613 
								
							
								 
							
						 
						
							
							
								
								swscale: Remove unused variables in x86 code.  
							
							 
							
							 
							
							
								
							
							
							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’ 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								9f5d45025e 
								
							
								 
							
						 
						
							
							
								
								swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								e758573a88 
								
							
								 
							
						 
						
							
							
								
								swscale: fix compile on x86-32.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								b4a224c5e4 
								
							
								 
							
						 
						
							
							
								
								swscale: split chroma buffers into separate U/V planes.  
							
							 
							
							 
							
							
								
							
							
							Preparatory step to implement support for sizes > VOFW. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								836b82e3c9 
								
							
								 
							
						 
						
							
							
								
								swscale: reindent h[cy]scale_fast() and updateDitherTables().  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								e2bad983b5 
								
							
								 
							
						 
						
							
							
								
								swscale: reformat x86/swscale_template.c.  
							
							 
							
							 
							
							
								
							
							
							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. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								71d9c33c86 
								
							
								 
							
						 
						
							
							
								
								swscale: remove duplicate mmx/mmx2 functions if they are identical.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								acb96bc268 
								
							
								 
							
						 
						
							
							
								
								swscale: remove if (c->dstFormat) branch from yuv2packed[12X]().  
							
							 
							
							 
							
							
								
							
							
							This allows cutting up the function in much smaller and easier-
to-maintain chunks. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								b6cac9b3bf 
								
							
								 
							
						 
						
							
							
								
								swscale: remove if(full_chr_int) from yuv2packed1().  
							
							 
							
							 
							
							
								
							
							
							If that flag is set, swScale() already proxies the call to
yuv2rgbXinC_full(). Therefore, this flag is never set when
yuv2packed1() is called. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								2159a24573 
								
							
								 
							
						 
						
							
							
								
								swscale: remove if(accurate_rnd) branch from functions.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Diego Biurrun
							
						 
						
							
							
							
								
							
								0093199184 
								
							
								 
							
						 
						
							
							
								
								swscale: Remove commented-out printf cruft.  
							
							 
							
							
								
							
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								1bb0f0c925 
								
							
								 
							
						 
						
							
							
								
								swscale: remove if(bitexact) branch from functions.  
							
							 
							
							 
							
							
								
							
							
							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. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								566b5fbbb3 
								
							
								 
							
						 
						
							
							
								
								swscale: remove if(canMMX2BeUsed) conditional.  
							
							 
							
							 
							
							
								
							
							
							Instead, set function pointers conditionally during init. This
patch also reveals a whole branch of dead assembly code that is
therefore also removed. 
							
						 
						14 years ago  
					 
				
					
						
							
							
								   Ronald S. Bultje
							
						 
						
							
							
							
								
							
								aaca69c130 
								
							
								 
							
						 
						
							
							
								
								swscale: remove swScale_{c,MMX,MMX2} duplication.  
							
							 
							
							
								
							
							
						 
						14 years ago