sijchen
ffb85046b4
Refactoring: Wrap all the operations related to eSpsPpsIdStrategy to class, to improve code readability
2016-05-04 15:06:02 -07:00
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
Sijia Chen
819f6f5d93
[Encoder] add encoder tasks and task-management class
...
https://rbcommons.com/s/OpenH264/r/1334/
2015-10-19 22:48:28 -07:00
Sijia Chen
757a596e97
add basic threadpool functions
...
https://rbcommons.com/s/OpenH264/r/1294/
2015-10-15 10:04:00 -07:00
Martin Storsjö
5ff8af6883
Remove unused source files from the encoder
2015-10-13 12:21:34 +03:00
Martin Storsjö
19bcb45c22
Fix the indentation of a line in a vcproj file
...
This line seems to have been misindented by a manual edit.
2015-03-25 11:40:28 +02:00
Martin Storsjö
b6a1e1ce83
Remove references to missing files from the vcproj files
2015-03-25 11:40:10 +02:00
huili2
ed1140b846
merge bit_stream.h for encoder&decoder
2015-03-13 16:19:25 +08: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
ruil2
055915d720
update windows project for table change
2014-10-30 12:47:26 +08:00
Martin Storsjö
f84560474c
Revert unrelated changes to MSVC project file nasm commands
...
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.
2014-10-28 23:38:14 +02:00
ruil2
abc01e6b81
add encoder cabac support
2014-10-27 13:06:33 +08:00
Martin Storsjö
b17e9bb320
Make nasm commands in vcproj files consistent
...
Some commands had different spacing than others, and commands
for some files had accidentally missed a few parameters.
2014-10-22 10:14:22 +03:00
Martin Storsjö
7720f2cc5d
Add literal CRLF at the end of nasm commands that are missing them
...
These are added by MSVC as soon as the file is touched anyway.
This avoids stray changes to the files if the files are resaved
from within the IDE.
2014-10-22 10:14:08 +03:00
ruil2
ed341048de
refine common moudle for part of intra prediction function
2014-09-25 14:03:11 +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ö
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ö
3a43c6bad4
Remove custom, manual linker options for the encoder in the MSVC project files
2014-06-29 13:51:54 +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ö
3923d11dc6
Remove unnecessary, empty, file specific FileConfiguration blocks in vcproj files
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
zhilwang
f6293153c8
Merge pull request #802 from mstorsjo/remove-unused-misspelled-define
...
Remove an unused, misspelled define set on only one source file
2014-05-09 08:45:49 +08:00
Martin Storsjö
f8ae7fcc5f
Remove an unused, misspelled define set on only one source file
2014-05-08 11:17:29 +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
volvet
8690adf870
Merge pull request #647 from mstorsjo/remove-dynamic-vp
...
Remove code for loading the VP library dynamically
2014-04-08 10:40:55 -07:00
Martin Storsjö
1342da9bc4
Remove everything related to NO_DYNAMIC_VP
...
This mode is the default and used everywhere now.
2014-04-08 15:09:21 +03:00
Martin Storsjö
56abd3c15b
Link the encoder core directly to the VP library
...
This avoids using the codepaths for dynamically loading the
DLL, letting the linker resolve it as any other function.
2014-04-08 15:09:21 +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
Martin Storsjö
e329ff4cb0
Add the new x86 assembly source files to the msvc project files
2014-04-08 10:17:48 +03:00
Martin Storsjö
cc86533a39
Remove the now unused MT_ENABLE define from project files
2014-04-01 13:21:19 +03:00
ruil2
6b3f89d582
move some common functions to common.cpp and add some functions in common
2014-03-25 15:35:55 +08: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ö
7acb6cd4d0
Remove the duplicated IWelsVP.h file
...
Instead have the encoder include it directly from the processing
library.
Both copies of the files were mostly identical so far.
2014-02-19 15:00:49 +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
Martin Storsjö
66c39a4fd4
Remove the array_stack_align.h header from the encoder lib
...
All of these macros are already available in the common
macros.h header. Unify all the macros to be named ENFORCE_*
instead of mixed FORCE/ENFORCE.
2014-01-29 22:07:52 +02:00