46 Commits

Author SHA1 Message Date
Sindre Aamås
98042f1600 [Decoder] Use encoder x86 IDCT routines
Move asm routines to common. Delete obsolete decoder routines.

Use wider routines where applicable.

~1.07x overall faster decode on a quick 720p30 4Mbps test on Haswell.
2016-03-09 10:41:42 +01:00
huili2
a93e4647df remove unused as264_common.h in decoder 2015-03-10 15:48:37 +08:00
Martin Storsjö
87b73257cb Remove the intermediate SW folder in the decoder vcproj files
This makes the folder structure in these project files match all
the other ones.
2015-02-03 09:09:58 +02:00
Martin Storsjö
4f237b51ef Move parts of wels_const.h into a shared header 2015-02-02 12:41:11 +02:00
Martin Storsjö
2356eb1ff6 Move the memory allocation/deallocation routines to the common library
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.
2015-01-30 11:30:59 +02:00
Martin Storsjö
9a0663620a Move the MC routines to the common library
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).
2015-01-28 15:32:46 +02:00
dong zhang
cf85745752 add decoder cabac support and add UT 2014-11-03 10:03:43 +08:00
Martin Storsjö
f26c7e3f4f Use macros for setting the output directory
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.
2014-07-18 11:23:48 +03:00
Martin Storsjö
c9a6482fc6 Use default paths for and object files and other intermediate files
This makes sure that one can build for all architectures without
having the intermediates from one clobber the other.
2014-07-15 13:00:56 +03:00
Martin Storsjö
21691a6741 Don't set a custom path to browse information files, when no browse information is generated
These projects never had browse information generation enabled.
2014-07-10 10:15:30 +03:00
huili2
e465cc8bc3 Merge pull request #1124 from mstorsjo/consistent-debug-options
Set DebugInformationFormat consistently in all projects
2014-07-09 17:25:58 +08:00
Martin Storsjö
46c4335cb5 Set DebugInformationFormat consistently in all projects
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.
2014-07-09 10:46:18 +03:00
Martin Storsjö
79f80ac7da Don't set path to a precompiled header - precompiled headers are disabled 2014-07-09 10:43:57 +03:00
Martin Storsjö
31e3884a68 Enable whole program optimization for both decoder and encoder MSVC projects
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.
2014-07-04 11:59:45 +03:00
Martin Storsjö
4af37a7d21 Move common tables and definitions into the common library 2014-06-30 09:03:10 +03:00
Martin Storsjö
dc91e0958b Integrate the lone function from logging.cpp into welsCodecTrace.cpp 2014-06-11 08:08:56 +03:00
ruil2
4c12f8970c cleanup trace module 2014-06-10 10:24:45 +08:00
ruil2
14e5d740cd clean up expand picture. 2014-05-30 11:05:31 +08:00
Martin Storsjö
4354371b4e Revert "Remove the literal CRLF (
) within the nasm commands in msvc project files"
This reverts commit 7aff66d40ccfc9c4daf11691c73f4d5c9a3cba34.

These CRLF marks are readded by MSVC as soon as the project files
are updated from within the GUI anyway.
2014-05-12 09:20:41 +03:00
Martin Storsjö
416bb224e0 Don't hardcode SuppressStartupBanner=true, this is the default value
The fewer fields overridden, the better.
2014-05-09 19:59:06 +03:00
Martin Storsjö
324205df88 Remove references to nonexistent include directories
Some of these were legacy references to absolute paths outside of
the project itself.
2014-05-09 19:59:06 +03:00
Martin Storsjö
4635232d93 Don't manually define WIN32/WIN64
All the code that relies on separating them uses the built-in defines
_WIN32 and _WIN64, or the corresponding machine defines (such as
_M_IX86, for MSVC 32 bit inline assembly).
2014-05-09 19:34:04 +03:00
Martin Storsjö
e2ec07ae87 Remove the unused leftover define HAVE_CACHE_LINE_ALIGN 2014-05-09 19:27:42 +03:00
Martin Storsjö
60f1ea8088 Make manually edited vcproj files match what visual studio actually generates
This changes the indentation from space to tabs, and adds missing
dos newlines to these few lines.

This makes the file be detected as using dos newlines properly in
certain editors.
2014-05-08 11:15:50 +03:00
Licai Guo
e8d8bdc48e Merge pull request #689 from huili2/add_file_CopyMB_EC
divide copy_mb functions into new file for decoder use from encoder and ...
2014-04-15 16:20:08 +08:00
huili2
4ab8c88e98 divide copy_mb functions into new file for decoder use from encoder and add files for EC in decoder only. 2014-04-14 20:17:41 -07:00
Martin Storsjö
5c1666f430 Update the MSVC project files to use the statically linked C runtime library
This makes them match the behaviour of the make based build system.
2014-04-11 10:35:57 +03:00
Martin Storsjö
7aff66d40c Remove the literal CRLF (
) within the nasm commands in msvc project files 2014-04-08 11:43:08 +03:00
Martin Storsjö
5d2ca9d7a8 Remove the explicit -O3 parameter to nasm in visual studio project files
According to "nasm -h", there is no -O3 parameter at all, and
the highest optimization level (-Ox) is already the default.

The corresponding parameter never was set when building with the
make build system.
2014-04-08 11:42:14 +03:00
wayne liu
06c534d9f2 rephrase blockzero function complexity and remove useless functions 2014-03-19 23:43:55 -07:00
Licai Guo
e39de8d404 reoranize common to inc/src/x86/arm 2014-03-18 19:41:32 -07:00
Martin Storsjö
ed9c03408f Rename the asm subdirectories to x86
This is consistent with having the arm assembly in a subdirectory
called arm.
2014-03-18 23:09:45 +02:00
Martin Storsjö
0f7a958ce3 Move declarations of functions in mc_chroma/luma.asm into a header in common 2014-02-10 08:05:02 +02:00
Martin Storsjö
ad209c2d14 Move declarations of functions in expand_picture.asm into a header in common 2014-02-10 08:05:02 +02:00
Ethan Hugg
4334812eee Merge pull request #235 from mstorsjo/merge-ls-defines
Merge the ls_defines.h headers into the common sub-library
2014-01-27 14:10:00 -08:00
Ethan Hugg
6fea084a42 Merge pull request #234 from mstorsjo/merge-measure-time
Move the measure_time.h header to the common library
2014-01-27 08:57:16 -08:00
Martin Storsjö
ea333863ee Update the MSVC project files for earlier moved/removed files 2014-01-27 14:23:22 +02:00
Martin Storsjö
a44808e276 Merge the ls_defines.h headers into the common sub-library 2014-01-27 14:14:41 +02:00
Martin Storsjö
11bdd8adad Move the measure_time.h header to the common library
Both encoder and decoder versions were functionally equivalent,
but I picked the decoder version (but added the static inline
keywords to it) since the encoder one was quite messy with a lot
of commented out code.
2014-01-27 12:58:23 +02:00
Martin Storsjö
2f5f25b7e3 Merge the encoder/decoder crt_util_safe_x.h into the common lib 2014-01-27 08:03:03 +02:00
Martin Storsjö
dd7911bfe7 Remove code for dynamically loading a trace library
No code exists within the project for building such a trace library.

This also fixes building on OS X with -Wno-deprecated-declarations
removed, since this code contained calls to deprecated functions
within #ifdef MACOS, which now are enabled when building on OS X.
2014-01-24 11:44:19 +02:00
Licai Guo
fe2fa96bcb update vs project files 2014-01-22 22:14:31 -08:00
licaiguo
b92683691f update vs2008 files 2014-01-13 15:44:07 +08:00
volvet
ec84f4bcc9 resolve conflict 2014-01-03 14:49:45 +08:00
licaiguo
077ffed5ea Add Windows 64-bit build to VS project files 2013-12-15 15:18:19 +08:00
Ethan Hugg
70e5e62f3d Initial Commit 2013-12-09 04:51:09 -08:00