They are still used slightly differently in the encoder and decoder;
the decoder uses plain functions while the encoder uses one object
keeping track of the number of allocated bytes, and keeping track
of the requested alignment.
Use the decoder versions of the functions (which are capable
of handling widths 4/8/16 for luma, not only 16 as in the
encoder). By using the more generic versions, there may be a small
performance loss since the functions need to check the width
in every call. Actual measurements show that the actual change is
very small (and the shared routines turn out to actually be faster
than the existing ones in ARM NEON setups).
The cabac encoder commit accidentally changed some of the nasm
commands in the MSVC project file, that were previously
made consistent in b17e9bb32 and 7720f2cc5.
This makes sure this is set to the exact same string in all
the configurations, simplifying editing multiple configurations
at the same time.
This changes the output directory for 64 bit binaries from
bin/win64 to bin/x64, but this is the common pattern used by
MSVC in new projects.
No other projects create browse information, and browse information
for the decConsole project alone doesn't help much. This is also
only enabled in debug mode, further indicating that this option is
only enabled accidentally, not by purpose.
There's not much performance critical code within this lib, all
the performance critical code in the encoder is in WelsEncCore and
WelsVP, so there's little point in having an extra odd option enabled
here.
Use the "Program Database (/Zi)" in release mode and in debug
mode for x64, use "Program Database for Edit & Continue (/ZI)"
in debug mode for Win32.
This is how new visual studio projects are set by default.
This fixes building welsenc.dll from AutoBuild_Windows_VS2008.bat,
since the project interdependencies aren't taken into account
automatically in the linker commands when building one project at a
time.
Enable it on the project level, instead of having to set separate options
for both compiler and linker.
The processing project actually had the options set in this way originally
as well.
The MSVC GUI seems to want to write the file with data in the order
Debug|Win32, Debug|x64, Release|Win32, Release|x64. This causes a
large number of changes in the git diff even though the content
still basically is the same. Therefore do it in a separate commit,
to make sure that any later actual changes stay minimal.
This reverts commit 7aff66d40ccfc9c4daf11691c73f4d5c9a3cba34.
These CRLF marks are readded by MSVC as soon as the project files
are updated from within the GUI anyway.