1 2020-07-29 v1.9.0 "Quacking Duck"
2 This release adds support for NV12, a separate library for rate control, as
3 well as incremental improvements.
6 NV12 support is added to this release.
7 A new interface is added for VP9 rate control. The new library libvp9rc.a
8 must be linked by applications.
9 Googletest is updated to v1.10.0.
10 simple_encode.cc is compiled into a new library libsimple_encode.a with
14 Various changes to improve VP9 SVC, rate control, quality and speed to real
18 Fix key frame update refresh simulcast flexible svc.
19 Fix to disable_16x16part speed feature for real time encoding.
20 Fix some signed integer overflows for VP9 rate control.
21 Fix initialization of delta_q_uv.
22 Fix condition in regulate_q for cyclic refresh.
23 Various fixes to dynamic resizing for VP9 SVC.
25 2019-12-09 v1.8.2 "Pekin Duck"
26 This release collects incremental improvements to many aspects of the library.
29 ARCH_* defines have been removed in favor of VPX_ARCH_*.
31 2019-07-15 v1.8.1 "Orpington Duck"
32 This release collects incremental improvements to many aspects of the library.
35 VP8E_SET_CPUUSED now accepts values up to 9 for vp9.
36 VPX_CTRL_VP9E_SET_MAX_INTER_BITRATE_PCT had a spelling fix (was VP8E).
37 The --sdk-path option has been removed. If you were using it to build for
38 Android please read build/make/Android.mk for alternatives.
39 All PPC optimizations have been disabled:
40 https://bugs.chromium.org/p/webm/issues/detail?id=1522.
43 Various changes to improve encoder rate control, quality and speed
44 for practically every use case.
47 vp9-rtc: Fix color artifacts for speed >= 8.
49 2019-01-31 v1.8.0 "Northern Shoveler Duck"
50 This release focused on encoding performance for realtime and VOD use cases.
53 This adds and improves several vp9 controls. Most are related to SVC:
54 VP9E_SET_SVC_FRAME_DROP_LAYER:
55 - Frame dropping in SVC.
56 VP9E_SET_SVC_INTER_LAYER_PRED:
57 - Inter-layer prediction in SVC.
58 VP9E_SET_SVC_GF_TEMPORAL_REF:
59 - Enable long term temporal reference in SVC.
60 VP9E_SET_SVC_REF_FRAME_CONFIG/VP9E_GET_SVC_REF_FRAME_CONFIG:
61 - Extend and improve this control for better flexibility in setting SVC
63 VP9E_SET_POSTENCODE_DROP:
64 - Allow for post-encode frame dropping (applies to non-SVC too).
65 VP9E_SET_SVC_SPATIAL_LAYER_SYNC:
66 - Enable spatial layer sync frames.
67 VP9E_SET_SVC_LAYER_ID:
68 - Extend api to specify temporal id for each spatial layers.
70 - Extend Region of Interest functionality to VP9.
73 2 pass vp9 encoding has improved substantially. When using --auto-alt-ref=6,
74 we see approximately 8% for VBR and 10% for CQ. When using --auto-alt-ref=1,
75 the gains are approximately 4% for VBR and 5% for CQ.
77 For real-time encoding, speed 7 has improved by ~5-10%. Encodes targeted at
78 screen sharing have improved when the content changes significantly (slide
79 sharing) or scrolls. There is a new speed 9 setting for mobile devices which
80 is about 10-20% faster than speed 8.
84 VP9 partition issue for 1080p.
85 VP9 rate control improvments.
86 Postprocessing Multi Frame Quality Enhancement (MFQE) issue.
87 VP8 multithread decoder issues.
88 A variety of fuzzing issues.
90 2018-01-04 v1.7.0 "Mandarin Duck"
91 This release focused on high bit depth performance (10/12 bit) and vp9
92 encoding improvements.
95 This release is ABI incompatible due to new vp9 encoder features.
97 Frame parallel decoding for vp9 has been removed.
100 vp9 encoding supports additional threads with --row-mt. This can be greater
101 than the number of tiles.
103 Two new vp9 encoder options have been added:
107 Additional tooling for respecting the vp9 "level" profiles has been added.
110 A variety of fuzzing issues.
111 vp8 threading fix for ARM.
112 Codec control VP9_SET_SKIP_LOOP_FILTER fixed.
113 Reject invalid multi resolution configurations.
115 2017-01-09 v1.6.1 "Long Tailed Duck"
116 This release improves upon the VP9 encoder and speeds up the encoding and
120 This release is ABI compatible with 1.6.0.
123 Faster VP9 encoding and decoding.
124 High bit depth builds now provide similar speed for 8 bit encode and decode
125 for x86 targets. Other platforms and higher bit depth improvements are in
129 A variety of fuzzing issues.
131 2016-07-20 v1.6.0 "Khaki Campbell Duck"
132 This release improves upon the VP9 encoder and speeds up the encoding and
136 This release is ABI incompatible with 1.5.0 due to a new 'color_range' enum
137 in vpx_image and some minor changes to the VP8_COMP structure.
139 The default key frame interval for VP9 has changed from 128 to 9999.
142 A core focus has been performance for low end Intel processors. SSSE3
143 instructions such as 'pshufb' have been avoided and instructions have been
144 reordered to better accommodate the more constrained pipelines.
146 As a result, devices based on Celeron processors have seen substantial
147 decoding improvements. From Indian Runner Duck to Javan Whistling Duck,
148 decoding speed improved between 10 and 30%. Between Javan Whistling Duck
149 and Khaki Campbell Duck, it improved another 10 to 15%.
151 While Celeron benefited most, Core-i5 also improved 5% and 10% between the
154 Realtime performance for WebRTC for both speed and quality has received a
158 A number of fuzzing issues, found variously by Mozilla, Chromium and others,
159 have been fixed and we strongly recommend updating.
161 2015-11-09 v1.5.0 "Javan Whistling Duck"
162 This release improves upon the VP9 encoder and speeds up the encoding and
166 This release is ABI incompatible with 1.4.0. It drops deprecated VP8
167 controls and adds a variety of VP9 controls for testing.
169 The vpxenc utility now prefers VP9 by default.
172 Faster VP9 encoding and decoding
173 Smaller library size by combining functions used by VP8 and VP9
176 A variety of fuzzing issues
178 2015-04-03 v1.4.0 "Indian Runner Duck"
179 This release includes significant improvements to the VP9 codec.
182 This release is ABI incompatible with 1.3.0. It drops the compatibility
183 layer, requiring VPX_IMG_FMT_* instead of IMG_FMT_*, and adds several codec
187 Faster VP9 encoding and decoding
188 Multithreaded VP9 decoding (tile and frame-based)
189 Multithreaded VP9 encoding - on by default
190 YUV 4:2:2 and 4:4:4 support in VP9
191 10 and 12bit support in VP9
192 64bit ARM support by replacing ARM assembly with intrinsics
195 Fixes a VP9 bitstream issue in Profile 1. This only affected non-YUV 4:2:0
199 Frame Parallel decoding fails for segmented and non-420 files.
201 2013-11-15 v1.3.0 "Forest"
202 This release introduces the VP9 codec in a backward-compatible way.
203 All existing users of VP8 can continue to use the library without
204 modification. However, some VP8 options do not map to VP9 in the same manner.
206 The VP9 encoder in this release is not feature complete. Users interested in
207 the encoder are advised to use the git master branch and discuss issues on
208 libvpx mailing lists.
211 This release is ABI and API compatible with Duclair (v1.0.0). Users
212 of older releases should refer to the Upgrading notes in this document
216 Get rid of bashisms in the main build scripts
217 Added usage info on command line options
218 Add lossless compression mode
220 Add additional Mac OS X targets: 10.7, 10.8 and 10.9 (darwin11-13)
221 Add option to disable documentation
222 configure: add --enable-external-build support
223 make: support V=1 as short form of verbose=yes
224 configure: support mingw-w64
225 configure: support hardfloat armv7 CHOSTS
226 configure: add support for android x86
227 Add estimated completion time to vpxenc
228 Don't exit on decode errors in vpxenc
229 vpxenc: support scaling prior to encoding
230 vpxdec: support scaling output
231 vpxenc: improve progress indicators with --skip
232 msvs: Don't link to winmm.lib
233 Add a new script for producing vcxproj files
234 Produce Visual Studio 10 and 11 project files
235 Produce Windows Phone project files
236 msvs-build: use msbuild for vs >= 2005
237 configure: default configure log to config.log
238 Add encoding option --static-thresh
241 Miscellaneous speed optimizations for VP8 and VP9.
244 In general, quality is consistent with the Eider release.
247 This release represents approximately a year of engineering effort,
248 and contains multiple bug fixes. Please refer to git history for details.
252 This release acts as a checkpoint for a large amount of internal refactoring
253 and testing. It also contains a number of small bugfixes, so all users are
254 encouraged to upgrade.
257 This release is ABI and API compatible with Duclair (v1.0.0). Users
258 of older releases should refer to the Upgrading notes in this
259 document for that release.
262 VP8 optimizations for MIPS dspr2
263 vpxenc: add -quiet option
266 Encoder and decoder speed is consistent with the Eider release.
269 In general, quality is consistent with the Eider release.
271 Minor tweaks to ARNR filtering
272 Minor improvements to real time encoding with multiple temporal layers
275 Fixes multithreaded encoder race condition in loopfilter
276 Fixes multi-resolution threaded encoding
277 Fix potential encoder dead-lock after picture resize
280 2012-05-09 v1.1.0 "Eider"
281 This introduces a number of enhancements, mostly focused on real-time
282 encoding. In addition, it fixes a decoder bug (first introduced in
283 Duclair) so all users of that release are encouraged to upgrade.
286 This release is ABI and API compatible with Duclair (v1.0.0). Users
287 of older releases should refer to the Upgrading notes in this
288 document for that release.
290 This release introduces a new temporal denoiser, controlled by the
291 VP8E_SET_NOISE_SENSITIVITY control. The temporal denoiser does not
292 currently take a strength parameter, so the control is effectively
293 a boolean - zero (off) or non-zero (on). For compatibility with
294 existing applications, the values accepted are the same as those
295 for the spatial denoiser (0-6). The temporal denoiser is enabled
296 by default, and the older spatial denoiser may be restored by
297 configuring with --disable-temporal-denoising. The temporal denoiser
298 is more computationally intensive than the spatial one.
300 This release removes support for a legacy, decode only API that was
301 supported, but deprecated, at the initial release of libvpx
302 (v0.9.0). This is not expected to have any impact. If you are
303 impacted, you can apply a reversion to commit 2bf8fb58 locally.
304 Please update to the latest libvpx API if you are affected.
307 Adds a motion compensated temporal denoiser to the encoder, which
308 gives higher quality than the older spatial denoiser. (See above
309 for notes on upgrading).
311 In addition, support for new compilers and platforms were added,
313 improved support for XCode
314 Android x86 NDK build
318 Changing resolution with vpx_codec_enc_config_set() is now
319 supported. Previously, reinitializing the codec was required to
320 change the input resolution.
322 The vpxenc application has initial support for producing multiple
323 encodes from the same input in one call. Resizing is not yet
324 supported, but varying other codec parameters is. Use -- to
325 delineate output streams. Options persist from one stream to the
328 Also, the vpxenc application will now use a keyframe interval of
329 5 seconds by default. Use the --kf-max-dist option to override.
332 Decoder performance improved 2.5% versus Duclair. Encoder speed is
333 consistent with Duclair for most material. Two pass encoding of
334 slideshow-like material will see significant improvements.
336 Large realtime encoding speed gains at a small quality expense are
337 possible by configuring the on-the-fly bitpacking experiment with
338 --enable-onthefly-bitpacking. Realtime encoder can be up to 13%
339 faster (ARM) depending on the number of threads and bitrate
340 settings. This technique sees constant gain over the 5-16 speed
341 range. For VC style input the loss seen is up to 0.2dB. See commit
342 52cf4dca for further details.
345 On the whole, quality is consistent with the Duclair release. Some
348 Reduced blockiness in easy sections by applying a penalty to
351 Improved quality of static sections (like slideshows) with
354 Improved keyframe sizing with multiple temporal layers
357 Corrected alt-ref contribution to frame rate for visible updates
358 to the alt-ref buffer. This affected applications making manual
359 usage of the frame reference flags, or temporal layers.
361 Additional constraints were added to disable multi-frame quality
362 enhancement (MFQE) in sections of the frame where there is motion.
365 Fixed corruption issues when vpx_codec_enc_config_set() was called
366 with spatial resampling enabled.
368 Fixed a decoder error introduced in Duclair where the segmentation
369 map was not being reinitialized on keyframes (#378)
372 2012-01-27 v1.0.0 "Duclair"
373 Our fourth named release, focused on performance and features related to
374 real-time encoding. It also fixes a decoder crash bug introduced in
375 v0.9.7, so all users of that release are encouraged to upgrade.
378 This release is ABI incompatible with prior releases of libvpx, so the
379 "major" version number has been bumped to 1. You must recompile your
380 applications against the latest version of the libvpx headers. The
381 API remains compatible, and this should not require code changes in most
385 This release introduces several substantial new features to the encoder,
386 of particular interest to real time streaming applications.
388 Temporal scalability allows the encoder to produce a stream that can
389 be decimated to different frame rates, with independent rate targeting
392 Multiframe quality enhancement postprocessing can make visual quality
393 more consistent in the presence of frames that are substantially
394 different quality than the surrounding frames, as in the temporal
395 scalability case and in some forced keyframe scenarios.
397 Multiple-resolution encoding support allows the encoding of the
398 same content at different resolutions faster than encoding them
402 Optimization targets for this release included the decoder and the real-
403 time modes of the encoder. Decoder speed on x86 has improved 10.5% with
404 this release. Encoder improvements followed a curve where speeds 1-3
405 improved 4.0%-1.5%, speeds 4-8 improved <1%, and speeds 9-16 improved
406 1.5% to 10.5%, respectively. "Best" mode speed is consistent with the
410 Encoder quality in the single stream case is consistent with the Cayuga
414 This release fixes an OOB read decoder crash bug present in v0.9.7
415 related to the clamping of motion vectors in SPLITMV blocks. This
416 behavior could be triggered by corrupt input or by starting
417 decoding from a P-frame.
420 2011-08-15 v0.9.7-p1 "Cayuga" patch 1
421 This is an incremental bugfix release against Cayuga. All users of that
422 release are strongly encouraged to upgrade.
424 - Fix potential OOB reads (cdae03a)
426 An unbounded out of bounds read was discovered when the
427 decoder was requested to perform error concealment (new in
428 Cayuga) given a frame with corrupt partition sizes.
430 A bounded out of bounds read was discovered affecting all
431 versions of libvpx. Given an multipartition input frame that
432 is truncated between the mode/mv partition and the first
433 residiual paritition (in the block of partition offsets), up
434 to 3 extra bytes could have been read from the source buffer.
435 The code will not take any action regardless of the contents
436 of these undefined bytes, as the truncated buffer is detected
437 immediately following the read based on the calculated
438 starting position of the coefficient partition.
440 - Fix potential error concealment crash when the very first frame
441 is missing or corrupt (a609be5)
443 - Fix significant artifacts in error concealment (a4c2211, 99d870a)
445 - Revert 1-pass CBR rate control changes (e961317)
446 Further testing showed this change produced undesirable visual
447 artifacts, rolling back for now.
450 2011-08-02 v0.9.7 "Cayuga"
451 Our third named release, focused on a faster, higher quality, encoder.
454 This release is backwards compatible with Aylesbury (v0.9.5) and
455 Bali (v0.9.6). Users of older releases should refer to the Upgrading
456 notes in this document for that release.
459 Stereo 3D format support for vpxenc
460 Runtime detection of available processor cores.
461 Allow specifying --end-usage by enum name
462 vpxdec: test for frame corruption
463 vpxenc: add quantizer histogram display
464 vpxenc: add rate histogram display
465 Set VPX_FRAME_IS_DROPPABLE
466 update configure for ios sdk 4.3
467 Avoid text relocations in ARM vp8 decoder
468 Generate a vpx.pc file for pkg-config.
469 New ways of passing encoded data between encoder and decoder.
472 This release includes across-the-board speed improvements to the
473 encoder. On x86, these measure at approximately 11.5% in Best mode,
474 21.5% in Good mode (speed 0), and 22.5% in Realtime mode (speed 6).
475 On ARM Cortex A9 with Neon extensions, real-time encoding of video
476 telephony content is 35% faster than Bali on single core and 48%
477 faster on multi-core. On the NVidia Tegra2 platform, real time
478 encoding is 40% faster than Bali.
480 Decoder speed was not a priority for this release, but improved
481 approximately 8.4% on x86.
483 Reduce motion vector search on alt-ref frame.
484 Encoder loopfilter running in its own thread
485 Reworked loopfilter to precalculate more parameters
486 SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}().
487 Make hor UV predict ~2x faster (73 vs 132 cycles) using SSSE3.
488 Removed redundant checks
489 Reduced structure sizes
490 utilize preload in ARMv6 MC/LPF/Copy routines
491 ARM optimized quantization, dfct, variance, subtract
492 Increase chrow row alignment to 16 bytes.
493 disable trellis optimization for first pass
494 Write SSSE3 sub-pixel filter function
495 Improve SSE2 half-pixel filter funtions
496 Add vp8_sub_pixel_variance16x8_ssse3 function
497 Reduce unnecessary distortion computation
498 Use diamond search to replace full search
499 Preload reference area in sub-pixel motion search (real-time mode)
502 This release focused primarily on one-pass use cases, including
503 video conferencing. Low latency data rate control was significantly
504 improved, improving streamability over bandwidth constrained links.
505 Added support for error concealment, allowing frames to maintain
506 visual quality in the presence of substantial packet loss.
508 Add rc_max_intra_bitrate_pct control
509 Limit size of initial keyframe in one-pass.
510 Improve framerate adaptation
511 Improved 1-pass CBR rate control
512 Improved KF insertion after fades to still.
513 Improved key frame detection.
514 Improved activity masking (lower PSNR impact for same SSIM boost)
515 Improved interaction between GF and ARFs
516 Adding error-concealment to the decoder.
517 Adding support for independent partitions
518 Adjusted rate-distortion constants
522 Removed firstpass motion map
523 Fix parallel make install
524 Fix multithreaded encoding for 1 MB wide frame
525 Fixed iwalsh_neon build problems with RVDS4.1
526 Fix semaphore emulation, spin-wait intrinsics on Windows
527 Fix build with xcode4 and simplify GLOBAL.
528 Mark ARM asm objects as allowing a non-executable stack.
529 Fix vpxenc encoding incorrect webm file header on big endian
532 2011-03-07 v0.9.6 "Bali"
533 Our second named release, focused on a faster, higher quality, encoder.
536 This release is backwards compatible with Aylesbury (v0.9.5). Users
537 of older releases should refer to the Upgrading notes in this
538 document for that release.
541 vpxenc --psnr shows a summary when encode completes
542 --tune=ssim option to enable activity masking
543 improved postproc visualizations for development
544 updated support for Apple iOS to SDK 4.2
545 query decoder to determine which reference frames were updated
546 implemented error tracking in the decoder
547 fix pipe support on windows
550 Primary focus was on good quality mode, speed 0. Average improvement
551 on x86 about 40%, up to 100% on user-generated content at that speed.
552 Best quality mode speed improved 35%, and realtime speed 10-20%. This
553 release also saw significant improvement in realtime encoding speed
556 Improved encoder threading
557 Dont pick encoder filter level when loopfilter is disabled.
558 Avoid double copying of key frames into alt and golden buffer
560 x86 sse2 temporal filter
561 SSSE3 version of fast quantizer
562 vp8_rd_pick_best_mbsegmentation code restructure
563 Adjusted breakout RD for SPLITMV
564 Changed segmentation check order
565 Improved rd_pick_intra4x4block
566 Adds armv6 optimized variance calculation
567 ARMv6 optimized sad16x16
568 ARMv6 optimized half pixel variance calculations
569 Full search SAD function optimization in SSE4.1
570 Improve MV prediction accuracy to achieve performance gain
571 Improve MV prediction in vp8_pick_inter_mode() for speed>3
574 Best quality mode improved PSNR 6.3%, and SSIM 6.1%. This release
575 also includes support for "activity masking," which greatly improves
576 SSIM at the expense of PSNR. For now, this feature is available with
577 the --tune=ssim option. Further experimentation in this area
578 is ongoing. This release also introduces a new rate control mode
579 called "CQ," which changes the allocation of bits within a clip to
580 the sections where they will have the most visual impact.
582 Tuning for the more exact quantizer.
583 Relax rate control for last few frames
585 Limit key frame quantizer for forced key frames.
587 Add simple version of activity masking.
588 make rdmult adaptive for intra in quantizer RDO
589 cap the best quantizer for 2nd order DC
590 change the threshold of DC check for encode breakout
593 Fix crash on Sparc Solaris.
594 Fix counter of fixed keyframe distance
595 ARNR filter pointer update bug fix
596 Fixed use of motion percentage in KF/GF group calc
597 Changed condition for using RD in Intra Mode
598 Fix encoder real-time only configuration.
599 Fix ARM encoder crash with multiple token partitions
600 Fixed bug first cluster timecode of webm file is wrong.
601 Fixed various encoder bugs with odd-sized images
602 vp8e_get_preview fixed when spatial resampling enabled
603 quantizer: fix assertion in fast quantizer path
604 Allocate source buffers to be multiples of 16
605 Fix for manual Golden frame frequency
606 Fix drastic undershoot in long form content
609 2010-10-28 v0.9.5 "Aylesbury"
610 Our first named release, focused on a faster decoder, and a better encoder.
613 This release incorporates backwards-incompatible changes to the
614 ivfenc and ivfdec tools. These tools are now called vpxenc and vpxdec.
617 * the -q (quiet) option has been removed, and replaced with
618 -v (verbose). the output is quiet by default. Use -v to see
619 the version number of the binary.
621 * The default behavior is now to write output to a single file
622 instead of individual frames. The -y option has been removed.
623 Y4M output is the default.
625 * For raw I420/YV12 output instead of Y4M, the --i420 or --yv12
626 options must be specified.
628 $ ivfdec -o OUTPUT INPUT
629 $ vpxdec --i420 -o OUTPUT INPUT
631 * If an output file is not specified, the default is to write
632 Y4M to stdout. This makes piping more natural.
634 $ ivfdec -y -o - INPUT | ...
637 * The output file has additional flexibility for formatting the
638 filename. It supports escape characters for constructing a
639 filename from the width, height, and sequence number. This
640 replaces the -p option. To get the equivalent:
642 $ ivfdec -p frame INPUT
643 $ vpxdec --i420 -o frame-%wx%h-%4.i420 INPUT
646 * The output file must be specified with -o, rather than as the
649 $ ivfenc <options> INPUT OUTPUT
650 $ vpxenc <options> -o OUTPUT INPUT
652 * The output defaults to webm. To get IVF output, use the --ivf
655 $ ivfenc <options> INPUT OUTPUT.ivf
656 $ vpxenc <options> -o OUTPUT.ivf --ivf INPUT
660 ivfenc and ivfdec have been renamed to vpxenc, vpxdec.
661 vpxdec supports .webm input
662 vpxdec writes .y4m by default
663 vpxenc writes .webm output by default
664 vpxenc --psnr now shows the average/overall PSNR at the end
665 ARM platforms now support runtime cpu detection
666 vpxdec visualizations added for motion vectors, block modes, references
667 vpxdec now silent by default
668 vpxdec --progress shows frame-by-frame timing information
669 vpxenc supports the distinction between --fps and --timebase
670 NASM is now a supported assembler
671 configure: enable PIC for shared libs by default
672 configure: add --enable-small
673 configure: support for ppc32-linux-gcc
674 configure: support for sparc-solaris-gcc
677 Improve handling of invalid frames
678 Fix valgrind errors in the NEON loop filters.
679 Fix loopfilter delta zero transitions
680 Fix valgrind errors in vp8_sixtap_predict8x4_armv6().
681 Build fixes for darwin-icc
684 20-40% (average 28%) improvement in libvpx decoder speed,
686 Rewrite vp8_short_walsh4x4_sse2()
687 Optimizations on the loopfilters.
688 Miscellaneous improvements for Atom
689 Add 4-tap version of 2nd-pass ARMv6 MC filter.
690 Improved multithread utilization
691 Better instruction choices on x86
692 reorder data to use wider instructions
693 Update NEON wide idcts
694 Make block access to frame buffer sequential
695 Improved subset block search
696 Bilinear subpixel optimizations for ssse3.
697 Decrease memory footprint
699 Encoder speed improvements (percentage gain not measured):
700 Skip unnecessary search of identical frames
701 Add SSE2 subtract functions
702 Improve bounds checking in vp8_diamond_search_sadx4()
703 Added vp8_fast_quantize_b_sse2
706 Over 7% overall PSNR improvement (6.3% SSIM) in "best" quality
707 encoding mode, and up to 60% improvement on very noisy, still
708 or slow moving source video
710 Motion compensated temporal filter for Alt-Ref Noise Reduction
711 Improved use of trellis quantization on 2nd order Y blocks
712 Tune effect of motion on KF/GF boost in two pass
713 Allow coefficient optimization for good quality speed 0.
714 Improved control of active min quantizer for two pass.
715 Enable ARFs for non-lagged compress
719 Disable frame dropping by default
720 Improved multithreaded performance
721 Improved Force Key Frame Behaviour
722 Increased rate control buffer level precision
723 Fix bug in 1st pass motion compensation
724 ivfenc: correct fixed kf interval, --disable-kf
726 Changed above and left context data layout
727 Rework idct calling structure.
728 Removed unnecessary MB_MODE_INFO copies
729 x86: SSSE3 sixtap prediction
730 Reworked IDCT to include reconstruction (add) step
731 Swap alt/gold/new/last frame buffer ptrs instead of copying.
732 Improve SSE2 loopfilter functions
733 Change bitreader to use a larger window.
734 Avoid loopfilter reinitialization when possible
736 Normalize quantizer's zero bin and rounding factors
737 Add trellis quantization.
738 Make the quantizer exact.
739 Updates to ARNR filtering algorithm
740 Fix breakout thresh computation for golden & AltRef frames
741 Redo the forward 4x4 dct
742 Improve the accuracy of forward walsh-hadamard transform
743 Further adjustment of RD behaviour with Q and Zbin.
745 Allow linking of libs built with MinGW to MSVC
746 Fix target auto-detection on mingw32
747 Allow --cpu= to work for x86.
748 configure: pass original arguments through to make dist
749 Fix builds without runtime CPU detection
750 msvs: fix install of codec sources
751 msvs: Change devenv.com command line for better msys support
752 msvs: Add vs9 targets.
753 Add x86_64-linux-icc target
755 Potential crashes on older MinGW builds
756 Fix two-pass framrate for Y4M input.
757 Fixed simple loop filter, other crashes on ARM v6
758 arm: fix missing dependency with --enable-shared
759 configure: support directories containing .o
760 Replace pinsrw (SSE) with MMX instructions
761 apple: include proper mach primatives
762 Fixed rate control bug with long key frame interval.
763 Fix DSO link errors on x86-64 when not using a version script
764 Fixed buffer selection for UV in AltRef filtering
769 * ivfenc/ivfdec now support YUV4MPEG2 input and pipe I/O
770 * Speed optimizations
773 * Prevent out-of-bounds accesses on invalid data
774 - Build system updates:
775 * Detect toolchain to be used automatically for native builds
776 * Support building shared libraries
777 * Better autotools emulation (--prefix, --libdir, DESTDIR)
779 * http://webmproject.blogspot.com/2010/06/changes-to-webm-open-source-license.html
783 - Initial open source release. Welcome to WebM and VP8!