Approximate changelog:
Remove misaligned SSE support; could cause problems if exception masks
were messed with by libraries and is obsoleted by AVX.
Fix AVX2 detection if "limit CPUID" is enabled in the BIOS.
Fix cases where intra refresh could predict from disallowed pixels.
x86inc: support "x64"-marked Windows 64-bit machines.
Improvements:
Support cygwin 64-bit.
x86: faster SAD_X3/SAD_X4
Transparent hugepage support and optimization on Linux.
AVC-Intra encoding support.
Windows Unicode (UTF-16) support.
Fix compilation with OpenCL on OS X.
Fix a crash in the case of an OpenCL error during encoding with OpenCL.
Fix building in compilers without inline asm support.
Fix crash in high bit depth builds compiled with unaligned stack.
Fix potential misalignment crash in AVX2 denoise_dct.
Fix some builds with PIC.
Fix possible crash when writing very large filler NALUs.
Improvements:
Add --stitchable option for segmented encoding.
Add new color primaries, transfer characteristics, and matrix
coefficient options from the latest H.264 spec.
x86: optimizations to AVX2 iDCT and AVX deblock
Tweak i16x16 delta-quant-avoidance code to fix a rare flickering issue
with deblocking in static areas of the frame.
Fix an invalid memcpy in sliced-threads that sometimes used src==dst;
this probably didn't break anything, but valgrind complains and it's
technically wrong.
Fix a stack alignment bug in checkasm and use 64-bit cycle counters to
avoid overflows that could occur in some tests.
x86inc: Remove .rodata kludges; they're no longer necessary and could
cause other problems.
Improvements:
x86: add Jaguar CPU detection.
x86inc: utilize the shadow space on win64 to avoid stack pointer
manipulation in some functions.
x86: 32-byte align the stack if possible, avoiding explicit alignment
routines in ALIGNED_ARRAY for AVX2-aligned arrays.
x86: Various optimizations and a bunch of new AVX2 functions,
especially for high bit depth.
OpenCL refactoring: autoload the OpenCL library, clean up the code,
and increment X264_BUILD.
pass optimizing flags (like default netbsd setup), just act as if
we passed --disable-asm, as opposed to passing it for netbsd/arm.
- now other operating systems that don't optimize won't fail here.
- if someone does pass optimization, he benefits from it
- I don't have to define another case in the Makefile for MIPS
Changelog:
encoder_open: Fix memory leak
arm: do not fill mc_weight*_neon tabs for HIGH_BIT_DEPTH
arm: Eliminate text relocations in asm
arm: Don't assume alignment in mbtree_propagate_list_internal where it isn't provided
Fix checkasm register clobber check on iOS
* ppc: Add detection of AltiVec support for FreeBSD
* Don't assume 16-byte stack alignment by default on x86-32
* Fix a few static analyzer performance hints
* Revise the row VBV algorithm
* Fix high bit depth lookahead cost compensation algorithm
* Correctly update the intra row predictor in B-frames
* Change the predictors update algorithm
* Update configure for auto detection of system libx264 configuration
* Add tile format frame packing value
* Stricter validation of crop-rect values
* Add mono frame packing value
* Validate frame packing value instead of clipping
* x86inc: Correctly warn on use of SSE2 instructions in SSE functions
* x86inc: Fix instantiation of YMM registers
* matroska: Correctly write display width and height in stereo mode
* Use POC type 0 for AVC-Intra
* Fix ARCH variable name conflict with BSD ports (bsd.port.mk) read-only variable
* Fix negative percentages in final stats output
* Update to the current lavf API and fix memory leak when using --seek
* x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
* x86: Minor pixel_ssim_end4 improvements
* x86: Faster quant_4x4x4
* configure: improve cc_check for clang and ICL to not ignore unknown options
* checkasm: Only call x264_cpu_detect() once
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
* Fix AVX2 detection bug with "limit CPUID" enabled in BIOS
* Fix a few minor bugs found with a static analyzer
* Fix cases in which intra refresh allowed prediction from disallowed pixels
* x86inc: Check for __OUTPUT_FORMAT__ having a value of "x64"
* configure: Support cygwin64
* x86: Faster AVX2 pixel_sad_x3 and pixel_sad_x4
* x86: SSSE3 implementation of pixel_sad_x3 and pixel_sad_x4
* Transparent hugepage support
* AVC-Intra support
* Windows Unicode support
* Fix GPAC support on Windows
* Fix masked access violation in KERNEL32
Onno van der Linden <o.vd.linden@quicknet.nl>
in private mail.
Similar to mplayer and ffmpeg fixes.
XXX: Probably NetBSD-5.99.* could use the CFLAGS too instead
of the --disable-asm, but neither me nor Onno can test.
Someone who groks linker issues should try to make the asm code
position independent. Until then I suspect we will end up using
--disable-asm everywhere.
The snapshot date is chosen for some reason:
-vlc-1.0.6 (which I'll commit soon) needs an API change which
was introduced on 20090813
-pkgsrc's ffmpeg can't deal with an API change which was done 20090921
(and is not easily updated)