Commit Graph

147 Commits

Author SHA1 Message Date
ruil2
334c5765c7 remove inter-deblock related parameters 2014-03-06 10:26:53 +08:00
Ethan Hugg
3d47b7847d Merge pull request #358 from volvet/add_ios_encDemo
add encode test for iOS
2014-02-27 10:52:14 -08:00
ruil2
cb4bc5ee28 add command line example 2014-02-26 16:58:03 +08:00
volvet
73ce4adc85 add encode test for iOS 2014-02-26 14:53:31 +08:00
ruil2
1edefc4d50 modify output help info and commands line input 2014-02-26 09:21:46 +08:00
volvet
f4d8882d2e remove inter spatial layer prediction in parameters 2014-02-24 11:06:09 +08:00
Martin Storsjö
892d90175c Handle a -trace parameter for setting the trace level
A similar parameter already exists in the other version of
the ParseCommandLine function.

The WelsStderrSetTraceLevel isn't one of the functions that
is exported from wels.dll (nor welsenc.dll) though, so this
doesn't work (not currently either since the function is
currently already referenced) if we would try to link to the
encoder library dynamically.
2014-02-23 00:19:56 +02:00
volvet
a783fed407 remove cgs/mgs related code, it is not supported 2014-02-21 12:57:06 +08:00
volvet
25efddd745 remove quality layer configuration. It is not supported 2014-02-21 10:51:47 +08:00
ruil2
3ba6a5f4da Simplify encoder interface--remove EncoderFrame2 from interface
function
2014-02-20 10:33:07 +08:00
Licai Guo
65c7168d8d Add iOS support for decoder. 2014-02-20 10:08:37 +08:00
Ethan Hugg
0a73155bdd Merge pull request #306 from licaiguo/add-android-pull-clean
Add android Support
2014-02-19 09:59:25 -08:00
Martin Storsjö
f6a46960c9 Check a string length before doing a strncpy 2014-02-19 10:42:52 +02:00
Martin Storsjö
fd100598ab Avoid declaring unused variables
Move the variable declarations within the ifdef instead.
2014-02-19 10:39:43 +02:00
Licai Guo
d058176c3b add android support, single commit 2014-02-18 17:54:27 -08:00
Martin Storsjö
49f4dad1b7 Split the encoder Initialize method into two
This avoids the struct type casting and having to pass a parameter
that says which kind of struct it actually is.
2014-02-18 22:51:54 +02:00
Martin Storsjö
622694935b Use SEncParamExt in ProcessEncodingSvcWithParam
Both FillSpecificParameters and ParseCommandLine use parameters
that don't exist in SEncParamBase.
2014-02-18 22:51:54 +02:00
Ethan Hugg
413b301e9c Merge pull request #303 from mstorsjo/simplify-decoder-api
Simplify the Initialize decoder method
2014-02-18 11:27:38 -08:00
Ethan Hugg
2243467c1b Merge pull request #304 from mstorsjo/remove-unused-variables
Remove completely unused variables and private fields
2014-02-18 11:26:19 -08:00
Licai Guo
24359dcde1 Merge pull request #301 from ruil2/temporal_num
use temporal layer num and remove gop size in external configure-- review request #94
2014-02-18 21:04:21 +08:00
Martin Storsjö
3b297ec866 Remove completely unused variables and private fields 2014-02-18 13:04:13 +02:00
Martin Storsjö
658d1e3651 Remove the unused iInitType parameter to the decoder Initialize method 2014-02-18 13:00:45 +02:00
Martin Storsjö
647fff6e2b Remove useless ifdefs
This is in practice always enabled on all currently supported
platforms.
2014-02-18 11:09:28 +02:00
ruil2
f5cd56ea74 use temporal layer num and remove gop size in external configure 2014-02-18 17:06:41 +08:00
ruil2
35fa429fb0 encoder interface update step1 2014-02-18 09:51:47 +08:00
Martin Storsjö
55d7491f3d Remove stub interfaces for hw decoding
There is no implementation available for actually doing decoding
in HW.
2014-02-13 14:21:38 +02:00
Martin Storsjö
ce22f84a2b Regenerate target makefiles after the latest mktargets.py changes 2014-02-12 22:11:05 +02:00
Ethan Hugg
b51963c009 Merge pull request #219 from volvet/mozilla_bug_963392_fix
fix crash bug 963392 and update the print help text.
2014-02-11 09:36:59 -08:00
Martin Storsjö
29ccdebad9 Correct the plane naming within the D3D code
Within I420 (as the decoder outputs), the first chroma plane is
U and the second is V, and similarly, in NV12, the chroma components
are written in the order U, V.

This doesn't have any practical effect, it only makes the
variable naming while it previously was misleading.
2014-02-11 12:26:36 +01:00
Martin Storsjö
83e7e7fbd9 Show the right message if no output file has been specified
H264DecodeInstance expects the pointer to be a null pointer if
no file has been specified.
2014-02-10 20:51:20 +02:00
Martin Storsjö
3e13874a77 Remove some needless casts by using the right data type 2014-02-10 20:51:20 +02:00
Martin Storsjö
7b96c6756e Use void instead of void_t
There's really no reason for adding a typedef for void.
2014-02-10 08:06:33 +02:00
Martin Storsjö
2b77fe7f49 Use bool instead of bool_t
bool is one of the built in, standard types in C++, there's no need
for a typedef for it.
2014-02-10 08:05:09 +02:00
Martin Storsjö
d0185ab253 Remove redundant /./ parts from pathnames in makefiles
This is mostly a cosmetic improvement for the quiet make output.
2014-02-08 18:46:52 +02:00
Martin Storsjö
8ecdcc7172 Add a make option for silencing the commands run
Add "V=No" to the make command to silence the make output.

This makes it easier to spot warnings or other unexpected messages
in the build output.
2014-01-30 13:56:19 +02:00
Martin Storsjö
19f03d6a26 Fix parsing of the -drec option if ENABLE_FRAME_DUMP isn't set
If the define wasn't set, the argument iterator didn't skip
the file name argument.
2014-01-28 11:46:27 +02: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ö
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
volvet
84f6602120 1 fix crash bug 963392, 2 update help print: the max supported gop size should be 8 2014-01-26 13:35:31 +08:00
Martin Storsjö
7df69c1482 Remove an unnecessary field from generated makefiles 2014-01-24 15:02:40 +02:00
Martin Storsjö
3cacaf85f1 Include the executable suffix within make
This makes sure that e.g. "make clean" actually removes
the built exe files, and avoids relinking the exe files each
time make is run when cross compiling from linux to windows.

(Make on windows seems to have an exception that knows to skip
rebuilding the 'h264enc' target if 'h264enc' doesn't exist but
'h264enc.exe' does, but this exception doesn't work on normal
unix make.)
2014-01-23 16:15:22 +02:00
Licai Guo
fc56c7d007 1. use WELS_CLIP1 to replace table look-up;
2. fix bugs about buffer overflow
3. add more boundary checks
2014-01-23 00:07:21 -08:00
kali2
c0e72338c1 Merge pull request #188 from ruil2/MaxGOPSize_update
update Max GOP size and minor fixes for early return-- review request#59
2014-01-22 22:48:41 -08:00
ruil2
4fd3bafa65 update Max GOP size and minor fixes for early return 2014-01-22 15:22:58 +08:00
Martin Storsjö
dd0db820fc Rename public interface methods to avoid two overloaded methods with the same name
This is required to make the order in the C++ virtual table
consistent in MSVC - previously the overloaded methods were
ordered differently in the vtable compared to the interface
declaration.
2014-01-21 20:54:32 +02:00
Ethan Hugg
efaa153bb1 Merge pull request #183 from mstorsjo/remove-unused-typedef
Remove unused typedefs
2014-01-21 10:34:14 -08:00
Ethan Hugg
b6dcd94cb0 Merge pull request #180 from mstorsjo/remove-disabled-bundle-loading
Remove disabled/broken/unused code for bundle loading in the console tools
2014-01-21 10:30:28 -08:00
Martin Storsjö
c196fd1ef0 Remove unused typedefs 2014-01-21 15:44:05 +02:00
Martin Storsjö
867d39e01b Remove system header/define hackery in welsenc.cpp
There doesn't seem to be any actual need for this, building
on linux still works just fine.
2014-01-21 15:02:51 +02:00
Martin Storsjö
41928236e4 Remove unused files about macos bundle loading from the console tools 2014-01-21 14:59:41 +02:00
Martin Storsjö
b903aa8273 Remove/disable broken code for loading the encoder library from a macos bundle
This refers to a file "bundlewelsenc.h" which doesn't even
exist in the project at the moment.

The corresponding bundle loading code is not called at all
in the decoder console tool.
2014-01-21 14:59:41 +02:00
Ethan Hugg
ae027b83d8 Merge pull request #159 from mstorsjo/frameskip-option
Add a runtime option for controlling frame skipping
2014-01-20 16:56:32 -08:00
Martin Storsjö
a8d549e343 Omit assembler source rules if no asm sources are found 2014-01-17 18:52:46 +02:00
Martin Storsjö
cee3329ff0 Add a runtime option for controlling frame skipping 2014-01-17 12:39:33 +02:00
Martin Storsjö
6e75136201 Don't load welsdec.dll at runtime in the decConsole test app on windows
Instead just link directly to it. This matches how the library is
linked/loaded in encConsole/h264enc as well.

Only the 2008 version project file is updated for now, since
the 2010 and 2012 ones are out of sync right now.
2014-01-17 12:06:21 +02:00
Martin Storsjö
b842ff30e5 Make the compiler/ar/linker file output parameters overrideable
This is in preparation for allowing building using MSVC via
makefiles.
2014-01-17 12:06:11 +02: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
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
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ö
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
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
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
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
24195dd884 Merge pull request #101 from mstorsjo/rerun-astyle
Rerun astyle on the C++ source files
2014-01-06 08:20:05 -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
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
Ethan Hugg
8c1550954b Add release builds to Travis and fix warning in release build. 2014-01-04 22:42:57 -08:00
Varun B Patil
d43e91a8a6 Safe parsing of command line parameters in enc console app 2013-12-29 18:01:32 +05:30
Ethan Hugg
9254d722d3 Merge pull request #62 from varunbpatil/cleanup
minor cleanup and bug fixes
2013-12-26 17:52:49 -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
7fa09903cf Add MinGW platform makefile and related source changes 2013-12-23 21:42:31 +01: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
c97be377b1 Rollup of minor fixes found by Martin Ettl 2013-12-16 09:25:35 -08: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
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
Cullen Jennings
41d1c31f7f Fix warnings on OSX compile 2013-12-13 13:03:38 -07: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
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