1 2010-10-28 v0.9.5 "Aylesbury" 2 Our first named release, focused on a faster decoder, and a better encoder. 3 4 - Upgrading: 5 This release incorporates backwards-incompatible changes to the 6 ivfenc and ivfdec tools. These tools are now called vpxenc and vpxdec. 7 8 vpxdec 9 * the -q (quiet) option has been removed, and replaced with 10 -v (verbose). the output is quiet by default. Use -v to see 11 the version number of the binary. 12 13 * The default behavior is now to write output to a single file 14 instead of individual frames. The -y option has been removed. 15 Y4M output is the default. 16 17 * For raw I420/YV12 output instead of Y4M, the --i420 or --yv12 18 options must be specified. 19 20 $ ivfdec -o OUTPUT INPUT 21 $ vpxdec --i420 -o OUTPUT INPUT 22 23 * If an output file is not specified, the default is to write 24 Y4M to stdout. This makes piping more natural. 25 26 $ ivfdec -y -o - INPUT | ... 27 $ vpxdec INPUT | ... 28 29 * The output file has additional flexibility for formatting the 30 filename. It supports escape characters for constructing a 31 filename from the width, height, and sequence number. This 32 replaces the -p option. To get the equivalent: 33 34 $ ivfdec -p frame INPUT 35 $ vpxdec --i420 -o frame-%wx%h-%4.i420 INPUT 36 37 vpxenc 38 * The output file must be specified with -o, rather than as the 39 last argument. 40 41 $ ivfenc <options> INPUT OUTPUT 42 $ vpxenc <options> -o OUTPUT INPUT 43 44 * The output defaults to webm. To get IVF output, use the --ivf 45 option. 46 47 $ ivfenc <options> INPUT OUTPUT.ivf 48 $ vpxenc <options> -o OUTPUT.ivf --ivf INPUT 49 50 51 - Enhancements: 52 ivfenc and ivfdec have been renamed to vpxenc, vpxdec. 53 vpxdec supports .webm input 54 vpxdec writes .y4m by default 55 vpxenc writes .webm output by default 56 vpxenc --psnr now shows the average/overall PSNR at the end 57 ARM platforms now support runtime cpu detection 58 vpxdec visualizations added for motion vectors, block modes, references 59 vpxdec now silent by default 60 vpxdec --progress shows frame-by-frame timing information 61 vpxenc supports the distinction between --fps and --timebase 62 NASM is now a supported assembler 63 configure: enable PIC for shared libs by default 64 configure: add --enable-small 65 configure: support for ppc32-linux-gcc 66 configure: support for sparc-solaris-gcc 67 68 - Bugs: 69 Improve handling of invalid frames 70 Fix valgrind errors in the NEON loop filters. 71 Fix loopfilter delta zero transitions 72 Fix valgrind errors in vp8_sixtap_predict8x4_armv6(). 73 Build fixes for darwin-icc 74 75 - Speed: 76 20-40% (average 28%) improvement in libvpx decoder speed, 77 including: 78 Rewrite vp8_short_walsh4x4_sse2() 79 Optimizations on the loopfilters. 80 Miscellaneous improvements for Atom 81 Add 4-tap version of 2nd-pass ARMv6 MC filter. 82 Improved multithread utilization 83 Better instruction choices on x86 84 reorder data to use wider instructions 85 Update NEON wide idcts 86 Make block access to frame buffer sequential 87 Improved subset block search 88 Bilinear subpixel optimizations for ssse3. 89 Decrease memory footprint 90 91 Encoder speed improvements (percentage gain not measured): 92 Skip unnecessary search of identical frames 93 Add SSE2 subtract functions 94 Improve bounds checking in vp8_diamond_search_sadx4() 95 Added vp8_fast_quantize_b_sse2 96 97 - Quality: 98 Over 7% overall PSNR improvement (6.3% SSIM) in "best" quality 99 encoding mode, and up to 60% improvement on very noisy, still 100 or slow moving source video 101 102 Motion compensated temporal filter for Alt-Ref Noise Reduction 103 Improved use of trellis quantization on 2nd order Y blocks 104 Tune effect of motion on KF/GF boost in two pass 105 Allow coefficient optimization for good quality speed 0. 106 Improved control of active min quantizer for two pass. 107 Enable ARFs for non-lagged compress 108 109 2010-09-02 v0.9.2 110 - Enhancements: 111 Disable frame dropping by default 112 Improved multithreaded performance 113 Improved Force Key Frame Behaviour 114 Increased rate control buffer level precision 115 Fix bug in 1st pass motion compensation 116 ivfenc: correct fixed kf interval, --disable-kf 117 - Speed: 118 Changed above and left context data layout 119 Rework idct calling structure. 120 Removed unnecessary MB_MODE_INFO copies 121 x86: SSSE3 sixtap prediction 122 Reworked IDCT to include reconstruction (add) step 123 Swap alt/gold/new/last frame buffer ptrs instead of copying. 124 Improve SSE2 loopfilter functions 125 Change bitreader to use a larger window. 126 Avoid loopfilter reinitialization when possible 127 - Quality: 128 Normalize quantizer's zero bin and rounding factors 129 Add trellis quantization. 130 Make the quantizer exact. 131 Updates to ARNR filtering algorithm 132 Fix breakout thresh computation for golden & AltRef frames 133 Redo the forward 4x4 dct 134 Improve the accuracy of forward walsh-hadamard transform 135 Further adjustment of RD behaviour with Q and Zbin. 136 - Build System: 137 Allow linking of libs built with MinGW to MSVC 138 Fix target auto-detection on mingw32 139 Allow --cpu= to work for x86. 140 configure: pass original arguments through to make dist 141 Fix builds without runtime CPU detection 142 msvs: fix install of codec sources 143 msvs: Change devenv.com command line for better msys support 144 msvs: Add vs9 targets. 145 Add x86_64-linux-icc target 146 - Bugs: 147 Potential crashes on older MinGW builds 148 Fix two-pass framrate for Y4M input. 149 Fixed simple loop filter, other crashes on ARM v6 150 arm: fix missing dependency with --enable-shared 151 configure: support directories containing .o 152 Replace pinsrw (SSE) with MMX instructions 153 apple: include proper mach primatives 154 Fixed rate control bug with long key frame interval. 155 Fix DSO link errors on x86-64 when not using a version script 156 Fixed buffer selection for UV in AltRef filtering 157 158 159 2010-06-17 v0.9.1 160 - Enhancements: 161 * ivfenc/ivfdec now support YUV4MPEG2 input and pipe I/O 162 * Speed optimizations 163 - Bugfixes: 164 * Rate control 165 * Prevent out-of-bounds accesses on invalid data 166 - Build system updates: 167 * Detect toolchain to be used automatically for native builds 168 * Support building shared libraries 169 * Better autotools emulation (--prefix, --libdir, DESTDIR) 170 - Updated LICENSE 171 * http://webmproject.blogspot.com/2010/06/changes-to-webm-open-source-license.html 172 173 174 2010-05-18 v0.9.0 175 - Initial open source release. Welcome to WebM and VP8! 176 177