Ut Video Codec Suite 20.2.0 readme (English)


Ut Video Codec Suite
Copyright © 2008-2019 UMEZAWA Takeshi

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

LZ4 Library

Ut Video Codec Suite uses LZ4 Library.

LZ4 Library
Copyright (c) 2011-2016, Yann Collet
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this
  list of conditions and the following disclaimer in the documentation and/or
  other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Overview

Ut Video Codec Suite is a multi-platform and multi-interface lossless video codec.

Environment

Minimum requirement (Windows x86)

OS
Windows 7 or later
CPU
i686-compatible CPU with SSE2 support
(e.g. Pentium 4 or later)

Minimum requirement (Windows x64)

OS
Windows 7 (x64) or later
CPU
CPU with AMD64 or Intel 64 (formerly EM64T) support

Minimum requirement (Mac)

OS
OS X 10.11 El Capitan or later
CPU
i686-compatible CPU with SSE2 support
(All Intel Mac meet this requirements)

Recommended

CPU
1st Generation Intel Core i series (codename "Nehalem") or later

Installation Notice

Windows

If version 10.2.0 or older is installed, you have to uninstall that version before you install this version.

If VCM codec is not registered properly, merge utvideo.reg in install destination with registry as a last resort. This file assumes Windows directory is C:\Windows.

List of FourCC

FourCCCodec nameInternal formatSupported input/output format (in order of priority)
VCM / DMOQT
ULRAUtVideo RGBARGBA 4:4:4:4 8bit full-rangeRGBAARGB
UMRAUtVideo T2 RGBA
ULRGUtVideo RGBRGB 4:4:4 8bit full-rangeRGB24
RGB32
RGB
ARGB
UMRGUtVideo T2 RGB
ULY4UtVideo YUV444 BT.601YCbCr (BT.601) 4:4:4 8bit limitedYV24
RGB24
RGB32
RGB
ARGB
UMY4UtVideo T2 YUV444 BT.601
ULY2UtVideo YUV422 BT.601YCbCr (BT.601) 4:2:2 8bit limitedYUY2 (YUYV YUNV yuvs)
UYVY (UYNV 2vuy)
YV16
RGB24
RGB32
yuvs
2vuy
RGB
ARGB
UMY2UtVideo T2 YUV422 BT.601
ULY0UtVideo YUV420 BT.601YCbCr (BT.601) 4:2:0 8bit limitedYV12
YUY2 (YUYV YUNV yuvs)
UYVY (UYNV 2vuy)
YV16
RGB24
RGB32
yuvs
2vuy
RGB
ARGB
ULH4UtVideo YUV444 BT.709YCbCr (BT.709) 4:4:4 8bit limitedYV24
RGB24
RGB32
RGB
ARGB
UMH4UtVideo T2 YUV444 BT.709
ULH2UtVideo YUV422 BT.709YCbCr (BT.709) 4:2:2 8bit limitedHDYC
YUY2 (YUYV YUNV yuvs)
UYVY (UYNV 2vuy)
YV16
RGB24
RGB32
HDYC
yuvs
2vuy
RGB
ARGB
UMH2UtVideo T2 YUV422 BT.709
ULH0UtVideo YUV420 BT.709YCbCr (BT.709) 4:2:0 8bit limitedYV12
HDYC
YUY2 (YUYV YUNV yuvs)
UYVY (UYNV 2vuy)
YV16
RGB24
RGB32
HDYC
yuvs
2vuy
RGB
ARGB
UQRAUtVideo Pro RGBA 10bitRGBA 4:4:4 10bit full-rangeb64ab64a
UQRGUtVideo Pro RGB 10bitRGB 4:4:4 10bit full-ranger210
b48r
b64a
b48r
b64a
UQY2UtVideo Pro YUV422 10bitYCbCr 4:2:2 10bit limitedv210v210

About Donations

Ut Video Codec Suite is a free software. Donations to support development are always welcome. For more information, visit "About Donations" page.

Development Environment

Windows

Development Tools

Machine 1

OS
Windows 7 Ultimate x64 (ja)
CPU
Intel Core i7-2600K
RAM
DDR3-1600 32GB

Machine 2

OS
Windows 7 Ultimate x64 (ja)
CPU
Intel Core i3-540
RAM
DDR3-1333 16GB

Machine 3

OS
Windows 7 Ultimate x64 (ja)
CPU
Intel Core i7-4770
RAM
DDR3-1600 32GB

Machine 4

OS
Windows 7 Ultimate x64 (ja)
CPU
AMD Phenom II X4 910e
RAM
DDR2-800 4GB

OS X

Development Tools

Machine 1

OS
macOS 10.12 Sierra
CPU
Intel Core i5-2415M
RAM
DDR3-1333 8GB

Version history

Version 20.2.0

Performance Improvements

Version 20.1.0

New features
Bug fixes

Version 20.0.0

New features
Performance Improvements

Version 19.1.0

New features
Performance Improvements
Bug fixes

Version 19.0.1

New features

Version 18.2.1

Others

Version 18.2.0

Performance Improvements

Version 18.1.0

Performance Improvements
Bug fixes

Version 18.0.0

New features
Performance Improvements

Version 17.4.1

No user-visible changes.

Version 17.4.0

Performance Improvements/dt>

Version 17.3.0

New features
Performance Improvements

Version 17.2.0

Performance Improvements

Version 17.1.0

Performance Improvements

Version 17.0.0

New features

Version 16.1.1

Bug fixes
Others

Version 16.1.0

New features

Version 16.0.0

New features
Bug fixes

Version 15.5.0

New features
Bug fixes

Version 15.4.0

Performance Improvements

Version 15.3.0

Others

Version 15.2.0

New features
Bug fixes

Version 15.1.0

bug fixes

Version 15.0.2

Others

Version 15.0.1

Others

Version 15.0.0

New features

Version 14.2.1

Bug fixes
  • Configuration of codecs is not properly saved even if "Save configuration globally by codec itself" checkbox in "Global Configuration" is cheked.

Version 14.2.0

Performance Improvements
  • UQY2: Add support for multithreading.

Version 14.1.1

New features
  • UQY2: Restriction of video width is relaxed.

Version 14.0.0

New features
  • Add a codec whose internal format is YUV422 10bit. (FourCC: UQY2). Very slow.
Others
  • Changed codec names.
  • Changed minimum requirement OS: Windows Vista or later.

Version 13.3.1

Bug fixes
  • Codec crashes when run on non-AVX capable processors.
  • Codec crashes when run on systems with more than 32 logical processors.

Version 13.3.0

Performance Improvements
  • ULRG,ULRA: Speed up decoding video that were encoded with "Optimize for compression ratio" option to RGB32/ARGB.

Version 13.2.1

Bug fixes
  • Codec crashes when run on non-SSSE3 capable processors.

Version 13.2.0

Performance Improvements
  • Common: (x64) Speed up decoding.

Version 13.1.0

Performance Improvements
  • ULRG,ULRA,ULY2,ULH2: Speed up encoding from native colorspace if SSSE3 instructions are available.
  • ULRG,ULRA,ULY2,ULH2: Speed up decoding video that were encoded with "Optimize for compression ratio" option to native colorspace if SSSE3 instructions are available.
  • ULY2,ULH2: Speed up encoding video from RGB formats if SSSE3 instructions are available.
  • ULY2,ULH2: Speed up decoding video to RGB formats if SSE4.1 instructions are available.

Version 13.0.1

Others
  • Fix packaging.

Version 13.0.0

New features
  • Add codecs that use BT.709-based colorspace conversion coefficient. (FourCC: ULH2, ULH0)
Others
  • Changed codec names.
  • Changed recommended CPU: Nehalem or later.

Version 12.2.1

Bug fixes
  • ULY0: Colorspace conversion routine from/to interlace YUV422 is probably wrong.

Version 12.2.0

Performance Improvements
  • Speed up decoding video that were encoded with "Optimize for decoding speed" option. About 5-10% faster.
  • (x64) Speed up decoding video that were encoded with "Optimize for compression ratio" option. About 1% faster.
  • ULY2: (x64) Speed up encoding from RGB colorspace About 2% faster.

Version 12.1.0

Performance Improvements
  • ULRG,ULRA,ULY2: Speed up encoding from native colorspace if AVX instructions are available. About 10% faster in case of x86, and about 12% faster in case of x64.
  • ULRG,ULRA,ULY2: Speed up decoding video that were encoded with "Optimize for compression ratio" option to native colorspace if AVX instructions are available. About 5% faster in case of both x86 and x64.

Version 12.0.1

Bug fixes
  • Uninstaller failes on Windows Vista or later.
  • Common: x64 decoders may crash.

Version 12.0.0

New features
  • Add Media Foundation encoders and decoders. No encode setting dialog.

Version 11.1.1

Bug fixes
  • (Windows) Size (number of bytes) of frame may not be set correctly when encoding and decoding.

Version 11.1.0

Performance Improvements
  • (Mac) Add assembly language version of colorspace conversion routine from RGB to ULY2.
  • Common: Speed up decoding a little.
  • Common: Speed up encoding on x64 about 10%
Others
  • (Mac) encoded size becomes a little smaller by omitting unnecessary media sample flags.

Version 11.0.0

New features
  • Add QuickTime encoder components for Mac OS X. Encoding from RGB24/ARGB32 are supported. Not very fast. No encode setting dialog.
Bug fixes
  • ULY2: QuickTime decoder may output corrupted data in case of certain width of video and output buffer.

Version 10.2.4

Others
  • (Windows) Installer now displays "before-install" notice.
  • (Mac) Report more apropreate codec name to QuickTime.

Version 10.2.3

Bug fixes
  • (Windows) When setting codec configuration to VCM codec object, it returns failure even though it is successful.
Others
  • (Windows) Add "last-resort" .reg file for install troubleshooting.

Version 10.2.2

Bug fixes
  • (Windows) Registration of x86 VCM codec is failed on Vista/XP x64.

Version 10.2.1

Others
  • (Windows) Installer is now Inno Setup based. Single installer is available for both x86 and x64 windows.

Version 10.2.0

Performance Improvements
  • (Mac) Add assembly language version routine. Now as fast as Windows version.

Version 10.1.0

Performance Improvements
  • (Mac) Support multithreading.

Version 10.0.3

Bug fixes
  • (Windows) Did not check width and height of input/output equal.

Version 10.0.2

Bug fixes
  • (Windows) Decoder rarely crashes.

Version 10.0.1

Bug fixes
  • (Windows) If "Save configuration globally by codec itself" in "Global Configuration" is checked, codec crashes at initialization.
Others
  • (Mac) Changed base SDK from 10.6 to 10.5

Version 10.0.0

New features
  • Add QuickTime components for Mac OS X. Decoding to RGB24/ARGB32 are supported. Very slow.
Others
  • Input/output format checking is more accurate.

Version 9.0.3

Bug fixes
  • ULY2: DMO encoder does not accept the output format that is suggested by itself when the input format is not RGB24/32.
  • ULY0: DMO encoder does not accept the output format that is suggested by itself when the input format is not RGB24/32.
Others
  • DMO encoders and decoders now does not check some part of input/ouput formats.

Version 9.0.1

Bug fixes
  • DMO decoder returns inconsistent formats when enumerates output formats.

Version 9.0.0

New features
  • Add DMO decoder.

Version 8.5.2

Bug fixes
  • Codec cannot be used via VCM interface because utv_vcm.dll is installed to wrong directory.

Version 8.5.1

Bug fixes
  • ULY2: Encoder may crushes and/or video may be broken when encoded from RGB (x64)
Others
  • Extract VCM interface from utvideo.dll, into utv_vcm.dll.

Version 8.5.0

Performance Improvements
  • common: Speed up decoding (x86) about 10%.
  • common: Speed up decoding (x64). Almost fast as x86 version.

Version 8.4.0

Performance Improvements
  • ULRG: Speed up decoding "Predict left" video to RGB24 and RGB32. 14% for x86, 6% for x64 (if Core 2).
  • ULRA: Speed up decoding "Predict left" video to RGBA. 17% for x86, 6% for x64 (if Core 2).

Version 8.3.0

Performance Improvements
  • ULY2: Speed up decoding "Predict left" video to YUY2 and UYVY. About 12% if Core 2.
  • ULY0: Speed up decoding "Predict left" video to YV12. About 5% if Core 2.
Others
  • ULY2: Delete support for encoding-from and decoding-to YVYU and VYUY.
  • ULY0: Delete support for encoding-from and decoding-to YVYU and VYUY.

Version 8.2.1

Others
  • ULY2: For the safety, set 255 to the field that might be interpreted as alpha channel when decoding.
  • ULY0: For the safety, set 255 to the field that might be interpreted as alpha channel when decoding.

Version 8.2.0

Performance Improvements
  • common: Speed up decoding. 20-30% for x86, 20-40% for x64 (if Core 2).

Version 8.1.0

New features
  • Encoder is now able to save configuration globally by encoder itself.
  • Encoder is now able to ignore setting of cofiguration from codec client (e.g. editing software).

Version 8.0.0

New features
  • Add DMO encoder.
Others
  • Only x64 version DLLs are included in x64 version installer.
  • x86 version installer is now able to be installed to x64 Windows.

Version 7.1.1

Others
  • Register DLL file with full path name.

Version 7.1.0

Performance Improvements
  • Fix significant performance decrease in Athlon/Phenom-series processors.

Version 7.0.4

Others
  • Changed the way to register codecs again.

Version 7.0.3

Others
  • Changed the way to register codecs.

Version 7.0.2

Others
  • x86 version installer is now unable to be installed to x64 Windows.
  • Modified some text.

Version 7.0.1

Bug fixes
  • x64 version installer does not register DLLs properly on some OS environment.
Others
  • Shorten display names of codecs.

Version 7.0.0

New features
  • Add x64 version. Both x64 version DLL and x86 version DLL are included in x64 version installer.
Others
  • DLLs are now installed under System32/SysWOW64 directory instead of Program Files directory.

Version 6.1.0

New features
  • common: Add option to set frame divide count to # of logical processors.

Version 6.0.2

Others
  • Fix packaging.

Version 6.0.1

Others
  • DLL is now statically-linked instead of dynamically-linked.

Version 6.0.0

New features
  • common: Add support for interlace video.
Bug fixes
  • ULY0: Codec may crash if video's height is greater than its width.

Version 5.3.1

Bug fixes
  • ULY0: fixed frame dividing method.

Version 5.3.0

New features
  • ULY0: Add support for YUY2 input when encoding. (but low speed)
  • ULY0: Add support for YUY2 output when decoding. (but low speed)

version 5.2.3

Bug fixes
  • common: rarely outputs broken frame when encoding.

Version 5.2.2

Others
  • Fix packaging.

Version 5.2.1

Others
  • Fix packaging.

Version 5.2.0

New features
  • ULY2: Add support for RGB32 input when encoding.
  • ULY0: Add support for RGB32 input when encoding. (but low speed)
  • ULY0: Add support for RGB32 output when decoding. (but low speed)

Version 5.1.2

Others
  • Fix packaging.

version 5.1.1

Bug fixes
  • ULY0: Size (number of bytes) of image may not be set correctly when decoding. This bug exists only in ULY0.

Version 5.1.0

New features
  • ULY0: Add support for RGB24 input when encoding. (but low speed)
  • ULY0: Add support for RGB24 output when decoding. (but low speed)

Version 5.0.0

New features
  • Add codec for YUV420 (FourCC: ULY0).
Others
  • Switch default prediction mode to "Predict left".
  • ULY2: Width now must be multiple of two.

Version 4.1.0

Performance Improvements
  • common: Speed up encoding just a little.
  • common: Speed up decoding just a little.

Version 4.0.2

Others
  • ULRG: For the safety, set 255 to the field that might be interpreted as alpha channel when decoding.
  • Common: Set input effective bit count to output biBitCount field when encoding.

Version 4.0.1

Others
  • Fix packaging.

Version 4.0.0

New features
  • Add codec for RGBA (FourCC: ULRA).

Version 3.8.0

New features
  • common: Add "Predict left" intra-frame prediction method. According to my measurement, compared to existing implementation ("Predict median"), approximately same encoding speed, 10% lower compresstion ratio (10% larger file size) and 50% faster decoding speed (30%+ shorter decoding time).

Version 3.7.0

Performance Improvements
  • common: Speed up decoding. 9% if Core 2.
  • ULY2: Speed up encoding from RGB24. 9% if Core 2.

Version 3.6.0

Performance Improvements
  • ULY2: Speed up encoding from RGB24. 42% if Core 2.

Version 3.5.0

New features
  • ULY2: Add support for RGB32 output when decoding. Assembly language version is also available.
Bug fix
  • ULY2: When encoding from RGB24, trash appears on right edge if width is not multiple of four.

Version 3.4.0

New features
  • ULY2: Add support for RGB24 input when encoding. (but low speed)
Bug fixes
  • ULY2: Output vertically flipped frames on some environment when decoding to RGB32, because of ignorance of sign of biHeight.

Version 3.3.1

Bug fixes
  • Common: Encoder crashes with some video editing and/or capture software.
Others
  • Changed title string of configuration dialog.
  • Add version string to "About" dialog.

Version 3.3.0

Performance Improvements
  • Common: Speed up decoding. 20% if Core 2.
  • Common: Speed up encoding. 8% if Core 2.
  • ULY2: Speed up decoding to RGB32. 47% if Core 2, including preceding common speedup.
Bug fixes
  • Common: Do not output error though starting encoding/decoding with format that cannot be processed.

Version 3.2.0

New features
  • ULY2: Add support for RGB32 output when decoding. (but low speed)
Bug fixes
  • ULRG: fixed frame dividing method. Due to this fix, ULRG lost compatibility if frame divide count is not 1.

Version 3.1.0

New features
  • ULY2: Add support for YUYV, YUNV, UYVY, UYNV, YVYU and VYUY.
  • ULRG: Add support for RGB32.
Buf fixes
  • ULRG: WMP crashes for ULRG-encoded files.

Version 3.0.0

Version 2.2.0

Version 2.1.0

Version 2.0.0

Version 1.1.3

First public release


Author's site