Martin Storsjö
d8d5dfe646
Fix casting of the return value integer to a pointer in the thread lib
...
This fixes building of the thread lib on 64 bit unix.
2014-01-11 13:12:30 +02:00
volvet
ccaef9fc6d
protect code if cpuid.4 return eax as zero
2014-01-11 18:56:22 +08:00
Ethan Hugg
f02d0aa667
Merge pull request #137 from mstorsjo/const-global-tables
...
Mark some read-only global tables const
2014-01-10 21:32:21 -08:00
Ethan Hugg
2c9f19474a
Merge pull request #132 from mstorsjo/mingw64
...
Add support for building on 64 bit mingw
2014-01-10 14:21:33 -08:00
Martin Storsjö
6412884211
Mark some read-only global tables const
2014-01-10 23:48:53 +02:00
Martin Storsjö
61117c85d8
Mark pointers to quantization functions const where possible
2014-01-10 23:48:35 +02:00
Martin Storsjö
401f6d7160
Remove the HAVE_CACHE_LINE_ALIGN, ENCODER_CORE and WELS_SVC defines from visual studio project files
...
These defines are not used anywhere any longer.
2014-01-10 15:34:12 +02:00
Martin Storsjö
104494475e
Remove the HAVE_CACHE_LINE_ALIGN, ENCODER_CORE and WELS_SVC defines from makefiles
...
Neither of them are used anywhere any longer.
2014-01-10 15:33:09 +02:00
Martin Storsjö
41a251630d
Use intptr_t instead of long for casting pointers to integers
...
This fixes building on mingw-w64.
Include stdint.h on everything except MSVC for definitions of
common standard types, include stddef.h on MSVC instead, since
MSVC doesn't have stdint.h in all older versions that are
supposed to be supported, but MSVC always defines intptr_t via
stddef.h.
2014-01-10 14:52:09 +02:00
Martin Storsjö
9ccae7b0d6
Remove useless use of the HAVE_CACHE_LINE_ALIGN define
...
The code ends up as the exact same regardless of whether the
define is set or not.
2014-01-10 12:25:39 +02:00
Martin Storsjö
8bc5bf58a0
Remove the unused global variable g_uiCacheLineSize
2014-01-10 12:20:59 +02:00
volvet
f2a14600a5
check cpuid max level before use cpuid.4
2014-01-10 15:32:35 +08:00
ekr
eeb11578ca
Merge pull request #123 from licaiguo/update-vs2010-files
...
Update vs2010 files
2014-01-09 18:07:57 -08:00
volvet
1834cb3aca
Merge branch 'master' of https://github.com/cisco/openh264 into core_number_detect_fix
2014-01-10 09:06:27 +08:00
Martin Storsjö
3b0844e400
Regenerate the targets makefiles
...
Commit f38111d76b
updated these files
manually (based on older versions of them) to something not generated
by the current mktargets.py/sh, losing the compact pattern rules.
2014-01-09 11:30:40 +02:00
volvet
0e38e5c4e7
add exception handler, the AMD cpu must be single core if it do not support HTT
2014-01-09 16:59:07 +08:00
Licai Guo
15bd7dab57
fix crash issue for too big packet size
2014-01-09 00:28:13 -08:00
licaiguo
c7f1974ef7
update vs2010 files
2014-01-09 16:05:23 +08:00
Licai Guo
77fd9aa4f0
merge macros.h to common/macros.h
2014-01-09 15:41:24 +08:00
licaiguo
8a1922837d
update vs2010 files, we need to merge macros.h.
...
Currently We keep three copies
2014-01-09 15:11:36 +08:00
volvet
02e4bf6e9d
fix UNIX64 and WIN64: use ecx as input param
2014-01-09 12:31:13 +08:00
volvet
ed8081022b
fix cpu core query via cpuid
2014-01-09 12:18:30 +08:00
ekr
61f1bac9ff
Merge pull request #119 from sijchen/merge6
...
complete the encoder interface of bit rate and frame rate updating
2014-01-08 17:39:08 -08:00
sijchen
4999b816ab
complete the encoder interface of bit rate and frame rate updating
2014-01-09 09:20:35 +08:00
Licai Guo
f38111d76b
file a new commit
...
Squashed commit of the following:
commit 26be4c66686d2d75ba1eb381ae562d30474429b2
Merge: 91bde82 8df0566
Author: Licai Guo <guolicai@gmail.com>
Date: Wed Jan 8 16:56:49 2014 -0800
Merge remote-tracking branch 'upstream/master' into move_to_common
Conflicts:
codec/common/targets.mk
codec/console/dec/targets.mk
codec/decoder/targets.mk
codec/encoder/targets.mk
codec/processing/targets.mk
commit 91bde8209dad40eaa0b26cc75467e4ce52b4c8ae
Merge: c827054 cc2ffee
Author: Licai Guo <guolicai@gmail.com>
Date: Tue Jan 7 20:16:11 2014 -0800
Merge remote-tracking branch 'upstream/master' into move_to_common
commit c8270543fab8e40cb4aebf62d7646068afe19484
Author: Licai Guo <guolicai@gmail.com>
Date: Mon Jan 6 19:12:39 2014 -0800
enable WelsScan4x4DcAc_ssse3
commit c8d2823d54e54cab146098302441ef44a4638382
Author: Licai Guo <guolicai@gmail.com>
Date: Mon Jan 6 18:46:06 2014 -0800
remove trailing white spaces
commit 39866a9cf54db6120aabd6a01afd4aedbead8af0
Author: Licai Guo <guolicai@gmail.com>
Date: Mon Jan 6 18:06:10 2014 -0800
move common code(deblocking and cpu) to common, rename decoder's
Intra-prediction functions prefix.
2014-01-08 17:03:00 -08:00
Ethan Hugg
f85911e331
Merge pull request #117 from mstorsjo/make-patterns
...
Use make patterns to avoid needing autogenerated rules for each source file
2014-01-08 09:48:31 -08:00
Ethan Hugg
4afa4fc7a8
Merge pull request #116 from mstorsjo/make-deps
...
Add proper dependencies for the command line binaries
2014-01-08 09:35:21 -08:00
Ethan Hugg
59466d0986
Merge pull request #115 from mstorsjo/remove-vc6-project-files
...
Remove VC6 project files
2014-01-08 08:46:03 -08:00
Martin Storsjö
488fb7bb20
Add proper dependencies for the command line binaries
...
This makes sure that all the dependency libs are built before trying
to link them together, fixing parallel make (which occasionally
failed due to trying to link the encoder or decoder command line
binaries before the libs had been built) and also fixes building an
individual component by e.g. "make h264enc".
2014-01-08 16:36:11 +02:00
Martin Storsjö
80669ed059
Use make patterns to avoid needing autogenerated rules for each source file
2014-01-08 16:33:35 +02:00
Martin Storsjö
8cf9bb68f0
Remove VC6 project files
...
These files are unmaintained and outdated, not even functional
in the initial commit of the project. Additionally, no similar
files are present for the decoder.
2014-01-08 12:02:44 +02:00
Martin Storsjö
cd0ee83393
Don't call process affinity functions in windows store or windows phone apps
...
These functions are only available in the desktop api subset.
2014-01-08 09:21:07 +02:00
Martin Storsjö
d0086b1940
Use the right data type for process affinity mask
...
This allows using the same code on 64 bit windows as well.
Tested on MSVC 2008-2013.
2014-01-08 09:21:06 +02:00
Martin Storsjö
65fa5d2a37
Enable use of D3D9 only when targeting desktop apps
...
Don't try to build this when building for phone/windows store (aka
metro/winrt) apps - this API isn't available there.
2014-01-08 09:21:06 +02:00
Martin Storsjö
05bf57a2af
Use InitializeCriticalSectionEx for Windows Store or Windows Phone apps
...
The old InitializeCriticalSection function isn't available in
these API partitions, and the new InitializeCriticalSectionEx
function is only available since Vista, so we want to keep using
the old function for normal desktop code.
2014-01-08 09:20:39 +02:00
Ethan Hugg
8af6e5cf69
Merge pull request #77 from varunbpatil/enc_testapp_arbitrary_res
...
Non-multiple of 16 width/height support for enc testapp
2014-01-07 13:38:04 -08:00
Ethan Hugg
4033940ba7
Merge pull request #105 from mstorsjo/msvc-disable-inline-asm-on-arm
...
Use MSVC inline assembly only on (32-bit) X86
2014-01-07 13:13:05 -08:00
Ethan Hugg
9b46788676
Merge pull request #85 from varunbpatil/safe_param_parse
...
Safe parsing of command line parameters in enc console app
2014-01-06 11:33:13 -08:00
Ethan Hugg
e801b58bf8
Merge pull request #110 from huili2/master
...
interface clean and inside modification
2014-01-06 11:02:49 -08:00
Ethan Hugg
dd3466cc6b
Merge pull request #88 from mstorsjo/remove-pragma-pack
...
Remove pragmas for non-standard struct packing in the public API
2014-01-06 09:46:17 -08:00
Ethan Hugg
057d3e507b
Merge pull request #100 from mstorsjo/trailing-whitespace-cpp-comments
...
Remove trailing whitespace in comments
2014-01-06 09:33:52 -08:00
Ethan Hugg
9cf180dda6
Merge pull request #103 from mstorsjo/remove-commented-out-pragmas
...
Remove commented out pragmas
2014-01-06 08:37:33 -08:00
Ethan Hugg
24195dd884
Merge pull request #101 from mstorsjo/rerun-astyle
...
Rerun astyle on the C++ source files
2014-01-06 08:20:05 -08:00
Ethan Hugg
96ecb0942d
Merge pull request #96 from mstorsjo/executablebit
...
Fix the executable bit on files
2014-01-06 08:17:41 -08:00
huili2
32fd2c4e4d
interface clean and inside modification
...
clean and comment some API.
move the SKIP mv pred location
remove the unused buffer in intra construction.
2014-01-06 13:28:55 +08:00
ekr
42389008a3
Merge pull request #95 from ethanhugg/travis2
...
Add release builds (ASM) to Travis
2014-01-05 20:00:45 -08:00
licaiguo
a3e0a71c71
remove unused intra-prediction functions and declarations
2014-01-06 11:53:43 +08:00
licaiguo
abb1311fb9
rename decoder's intra-prediction prefix from Wels to WelsDecoder.
2014-01-06 11:22:39 +08:00
Martin Storsjö
4a08781c18
Use MSVC inline assembly only on (32-bit) X86
...
Currently this used the _MSC_VER && !WIN64 to enable the inline
assembly, which still tried to use this code on windows on arm.
Using _MSC_VER && _M_IX86 is enough since _M_IX86 is defined only
when targeting 32 bit x86, not for x64.
2014-01-05 19:20:20 +02:00
Martin Storsjö
790110b2ce
Remove commented out pragmas
2014-01-05 15:04:34 +02:00
Martin Storsjö
b1c070cf8b
Remove "pragma once"
...
The same thing is handled by proper standard C header include guards
in all these files.
2014-01-05 15:03:25 +02:00
Martin Storsjö
d1b0713c76
Add a proper include guard to dec_console.h
2014-01-05 15:03:08 +02:00
Martin Storsjö
55b82b3cd7
Rerun astyle on the C++ source files
...
astyle was only run on .cpp files this time - already in
ff6b66917
where the style cleanup was done initially, not all
.h files seem to have gotten the same styling (rerunning astyle
on .h files at that commit produces a huge diff).
2014-01-05 14:59:18 +02:00
Martin Storsjö
d3ee1de5ac
Remove trailing whitespace in comments
...
The astyle cleanup keeps trailing whitespace within comments,
but the whitespace here is not significant nor intentional
and thus should be removed.
2014-01-05 14:53:21 +02:00
Martin Storsjö
44240ce778
Remove the executable bit accidentally set on an asm source file
2014-01-05 14:43:53 +02:00
Ethan Hugg
8c1550954b
Add release builds to Travis and fix warning in release build.
2014-01-04 22:42:57 -08:00
Andreas Gal
dba62070bf
Merge pull request #80 from ethanhugg/othercontribs
...
Fixed typo in old Linux encoder makefile
2014-01-04 18:50:20 -08:00
volvet
2c828d7918
merge VS2012 makefile for 64bits assembly
2014-01-03 16:12:47 +08:00
volvet
ec84f4bcc9
resolve conflict
2014-01-03 14:49:45 +08:00
unknown
1e5a290855
1. fix gcc 3.4 link error.
...
2. fix mingw build issue when enable asm
2014-01-02 17:19:25 +08:00
Martin Storsjö
8f3c129f25
Remove pragmas for non-standard struct packing in the public API
...
These pragmas specified that structs should be packed in a way
different from the normal way defined by the current platform ABI.
Since these pragmas are in headers part of the public API, and the
pragmas are nonstandard, this is a portability and compatibility
hazard (all code calling the library need to have the same support
for the nonstandard pragma).
Additionally, accessing unaligned struct members (as produced by this
tight struct packing) can give reduced performance or even lead to
crashes on platforms that require strict alignment.
The only theoretical possible benefits of using the pragma are either
matching a certain struct layout defined in some other, fixed ABI
(but since this is an interface defined by this library itself, there's
no such prior binary interface that needs to be matched), or to reduce
the memory usage by packing the structs tighter (where the reduction
would be marginal at best).
2013-12-31 10:05:27 +02:00
Varun B Patil
d43e91a8a6
Safe parsing of command line parameters in enc console app
2013-12-29 18:01:32 +05:30
Martin Storsjö
cf59a34464
Don't use include guards with leading underscores
...
Defines with leading underscores are reserved.
This fixes issue #10 .
2013-12-29 00:13:34 +02:00
Ethan Hugg
71e48218c4
Merge pull request #63 from mstorsjo/crossbuild
...
Use $(AR) instead of explicitly calling 'ar'
2013-12-27 08:23:06 -08:00
Ethan Hugg
9254d722d3
Merge pull request #62 from varunbpatil/cleanup
...
minor cleanup and bug fixes
2013-12-26 17:52:49 -08:00
Ethan Hugg
90db78dede
Fixed typo in old Linux encoder makefile
2013-12-26 07:16:35 -08:00
Varun B Patil
70d2ae8334
Non-multiple of 16 width/height support for enc testapp
...
Also included test sequence.
../h264enc welsenc_arbitrary_res.cfg
2013-12-25 16:14:37 +05:30
V
b939d91517
Add workaround for missing strnlen.
...
Enabled by default, define HAVE_STRNLEN to disable workaround.
2013-12-23 22:03:41 +01:00
V
7fa09903cf
Add MinGW platform makefile and related source changes
2013-12-23 21:42:31 +01:00
ekr
c01ffd25c8
Merge pull request #58 from ethanhugg/othercontribs
...
Rollup of minor fixes found by Martin Ettl
2013-12-23 03:53:59 -08:00
ekr
c21b70f159
Merge pull request #73 from ruil2/master
...
typo correction
2013-12-23 03:37:24 -08:00
ruil2
973902cf3f
typo correction-- update another file
2013-12-23 11:01:35 +08:00
ruil2
27bd915423
typo correction
2013-12-23 10:47:13 +08:00
Varun B Patil
e69983d6de
Improve command line arguments handling in dec testapp
...
Problems fixed:
1. No longer segfaults if an option is specified without an accompanying argument.
2. Wrongly incrementing i by 3 instead of by 2 while parsing command line options.
2013-12-20 11:46:09 +05:30
Varun B Patil
5ff3a23c18
Fix typo which ignored dec options file in dec testapp
...
Options file was not being taken because it was wrongly being taken as output
file for decoder.
2013-12-20 11:31:13 +05:30
Varun B Patil
2bc7d2bf86
memset not required as struct is already initialized to 0.
...
Moreover, memset causes loss of sDecParam.sVideoProperty.size
that was set previously.
2013-12-20 11:31:13 +05:30
Varun B Patil
301fd58c04
Replace some fancy stuff with simple function
2013-12-20 11:30:58 +05:30
Ethan Hugg
2f87e0c908
Merge pull request #66 from mstorsjo/valgrind
...
Don't check for scene changes on forced IDR frames
2013-12-19 19:09:41 -08:00
Ethan Hugg
630085ce6e
Cast pointer math to long long int
2013-12-19 14:25:42 -08:00
Ethan Hugg
c49f303b14
Use %llu instead to print a size_t.
2013-12-19 11:40:40 -08:00
Ethan Hugg
b2066e1dc2
Move -Werror to platform file. Also, %zu can't be used on Windows.
2013-12-19 11:27:05 -08:00
Ethan Hugg
50a74382f0
Fix warning and turn on -Werror for Travis
2013-12-19 09:27:22 -08:00
Martin Storsjö
3eda5a899e
Don't check for scene changes on forced IDR frames
...
For the first encoded frame, is bEncCurFrmAsIdrFlag true
while bIdrPeriodFlag is false.
Previously, the scene detection code unnecessarily checked for
a scene change in the first encoded frame (where the reference
frame was an uninitialized frame), triggering valgrind warnings
about using uninitialized memory.
2013-12-18 13:41:32 +02:00
Martin Storsjö
785ac16d28
Use $(AR) instead of explicitly calling 'ar'
...
This simplifies overriding the command used, e.g. for cross
compilation.
2013-12-17 12:29:21 +02:00
Ethan Hugg
69cdf61f49
Merge remote-tracking branch 'upstream/master' into cosmetic
2013-12-16 11:46:07 -08:00
Ethan Hugg
bcf102db83
Fixed warnings found by clang. Removed some trailing whitespace.
2013-12-16 11:36:54 -08:00
Ethan Hugg
c97be377b1
Rollup of minor fixes found by Martin Ettl
2013-12-16 09:25:35 -08:00
Martin Storsjö
f1cfd1e28a
Don't link to libdl when building with NO_DYNAMIC_VP defined
2013-12-16 09:35:03 +02:00
Varun B Patil
e65525d7b4
Improve handling of help switch in enc test app
...
welsenc.exe -h is now a valid command which returns success.
No longer prints help text twice in the case when the -h switch
is given along with a wrong cfg.
2013-12-16 09:30:38 +05:30
Ethan Hugg
8d3b617761
Merge pull request #48 from licaiguo/master
...
Add 64-bit build support for windows & Linux
2013-12-15 13:01:20 -08:00
Varun B Patil
f5e0058786
Make the two ParseCommandLine functions consistent
...
with respect to strcmp function call.
Removed unnecessary brackets.
2013-12-15 18:49:08 +05:30
Varun B Patil
077c29a0f1
Remove redundant NULL check
...
Address of a pointer variable can never be NULL.
2013-12-15 18:36:15 +05:30
Varun B Patil
42097a6ed3
Fix function name typo in enc test app
2013-12-15 18:34:50 +05:30
licaiguo
077ffed5ea
Add Windows 64-bit build to VS project files
2013-12-15 15:18:19 +08:00
Licai Guo
ac6828f4fa
Enable 64-bit build on Linux & Mac
2013-12-14 20:37:33 -08:00
Martin Storsjö
aa78f205d6
Avoid all calls to libdl (or equivalent) if NO_DYNAMIC_VP is defined
...
The same ifdefs are already used in the corresponding constructors,
so this just avoids a runtime/link time library dependency which
is practically unused in this build setup.
2013-12-14 13:17:14 +02:00
Cullen Jennings
41d1c31f7f
Fix warnings on OSX compile
2013-12-13 13:03:38 -07:00
Ethan Hugg
a913cc853e
Merge pull request #32 from mstorsjo/cosmetics
...
Consistently use unix newlines, remove trailing whitespace
2013-12-13 08:54:14 -08:00
Andreas Gal
90e0057ba6
Merge pull request #36 from mstorsjo/no-mfc-include
...
Don't include the MFC header afxres.h in windows resource files
2013-12-13 07:36:40 -08:00
Martin Storsjö
309d0bbffb
Add a missing NO_DYNAMIC_VP ifdef in the CWelsLib destructor
...
Previously this would try to free a dynamically loaded library
even if none was loaded.
2013-12-13 15:46:45 +02:00
Martin Storsjö
b911920a77
Don't include the MFC header afxres.h in windows resource files
...
Just include windows.h instead. This allows building using the
Express edition versions of MSVC as well, that don't include MFC.
2013-12-13 14:43:25 +02:00
Martin Storsjö
f9dea46712
Remove trailing whitespace
...
Most of it was removed in ff6b669176
from C++ source files,
but other files were left unchanged.
2013-12-13 11:24:17 +02:00
Martin Storsjö
8f9a5469be
Convert source files to unix newlines
...
Most files were converted in ff6b669176
, but some (non C++
source files) were left with windows newlines.
2013-12-13 11:20:23 +02:00
tab
3cc719ca0d
Fix typo in strnlen fallback
2013-12-12 17:56:29 -05:00
Ethan Hugg
ff6b669176
Pretty printed the C++ code with astyle
2013-12-12 14:21:12 -08:00
Martin Storsjö
3331ff6566
Fix a typo in the public codec API
2013-12-12 16:13:45 +02:00
ruil2
53c8a37ee1
fix VS build issue: can't find typedefs.h in console project
2013-12-12 17:33:38 +08:00
ruil2
661988ada7
Fix issue:#9
...
update VS2010 and VS2012 project
2013-12-12 17:15:52 +08:00
EKR
fb429bbf67
Add gtest support
2013-12-12 10:56:52 +08:00
Ethan Hugg
a15ad8cc80
Updated makefiles for new logging changes.
2013-12-11 09:52:02 -08:00
Ethan Hugg
2ca14fed1c
Rebase of EKR's patches for tracing and frame size
2013-12-11 06:51:26 -08:00
EKR
cf92e8d620
Add support for assembly on linux as well as multiple configs
2013-12-10 18:57:32 +08:00
EKR
2edc251ded
First cut at new build system. Tested on Mac
2013-12-10 16:19:42 +08:00
Ethan Hugg
70e5e62f3d
Initial Commit
2013-12-09 04:51:09 -08:00