1 2010-10-28 v0.9.5 "Aylesbury"
2 Our first named release, focused on a faster decoder, and a better encoder.
5 This release incorporates backwards-incompatible changes to the
6 ivfenc and ivfdec tools. These tools are now called vpxenc and 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.
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.
17 * For raw I420/YV12 output instead of Y4M, the --i420 or --yv12
18 options must be specified.
20 $ ivfdec -o OUTPUT INPUT
21 $ vpxdec --i420 -o OUTPUT INPUT
23 * If an output file is not specified, the default is to write
24 Y4M to stdout. This makes piping more natural.
26 $ ivfdec -y -o - INPUT | ...
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:
34 $ ivfdec -p frame INPUT
35 $ vpxdec --i420 -o frame-%wx%h-%4.i420 INPUT
38 * The output file must be specified with -o, rather than as the
41 $ ivfenc <options> INPUT OUTPUT
42 $ vpxenc <options> -o OUTPUT INPUT
44 * The output defaults to webm. To get IVF output, use the --ivf
47 $ ivfenc <options> INPUT OUTPUT.ivf
48 $ vpxenc <options> -o OUTPUT.ivf --ivf INPUT
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
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
76 20-40% (average 28%) improvement in libvpx decoder speed,
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
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
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
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
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
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
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.
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
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
161 * ivfenc/ivfdec now support YUV4MPEG2 input and pipe I/O
162 * Speed optimizations
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)
171 * http://webmproject.blogspot.com/2010/06/changes-to-webm-open-source-license.html
175 - Initial open source release. Welcome to WebM and VP8!