Commit Graph

1721 Commits

Author SHA1 Message Date
Ethan Hugg
3cdd792aba Merge pull request #106 from mstorsjo/windows-api-subset
Allow building for the WinRT/Windows Phone API subsets
2014-01-08 08:33:17 -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
cc2ffee5d2 Merge pull request #83 from varunbpatil/autobuildlinux_cleanup
Linux shell scripts refactored
2014-01-07 15:28:22 -08: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
9665aa4417 ReviewBoard .rc file for rbt. 2014-01-06 13:14:04 -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
95d693dcaf Merge pull request #107 from mstorsjo/update-readme
Update the readme with current platform support
2014-01-06 09:37:47 -08:00
Ethan Hugg
319ae0253b Merge pull request #98 from mstorsjo/trailing-whitespace-platform
Get rid of trailing whitespace in the platform makefiles
2014-01-06 09:35:24 -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
Ethan Hugg
05993ab2bf Merge pull request #99 from mstorsjo/gitignore
Add the console applications to .gitignore
2014-01-06 08:16:46 -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ö
0640c1d834 Update the readme with current platform support
Both 32 and 64 bit is supported, on windows, linux and OS X,
including x86 assembly code.
2014-01-06 01:18:43 +02: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
ekr
16ad879daf Merge pull request #102 from mstorsjo/remove-pragma-once
Remove pragma once
2014-01-05 07:46:15 -08: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ö
70802891b2 Add the console applications to .gitignore 2014-01-05 14:51:16 +02:00
Martin Storsjö
0ad7c4c9b6 Get rid of trailing whitespace in the platform makefiles 2014-01-05 14:48:52 +02:00
Martin Storsjö
12d7f72eec Mark the mktargets shell/python scripts executable 2014-01-05 14:43:53 +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
1198033863 Add nasm to apt-get list for Travis 2014-01-04 22:46:41 -08: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
Andreas Gal
6123fc94be Merge pull request #93 from volvet/64bits_Support
64bits support for assembly codes.
2014-01-04 18:47:45 -08:00
volvet
8a7a15ff30 fix merge conflict 2014-01-04 08:20:56 +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
Andreas Gal
3958118bf0 Merge pull request #89 from RichiH/patch-1
README.md: Formatting
2014-01-02 06:25:27 -08:00
Andreas Gal
e87cf9e277 Merge pull request #90 from ruil2/new_request
fix mingw build issue
2014-01-02 06:25:01 -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
Richard Hartmann
7caa3941d5 README.md: Formatting 2014-01-01 14:57:34 +01: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