• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12010-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
1092010-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
1592010-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
1742010-05-18 v0.9.0
175  - Initial open source release. Welcome to WebM and VP8!
176
177