Home | History | Annotate | Download | only in libvpx
      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