425 Commits

Author SHA1 Message Date
Martin Storsjö
1a32ae7120 Simplify the CWelsH264SVCEncoder::Initialize2 method
Remove the useless iInitType parameter, make the method
private within CWelsH264SVCEncoder class, give the pointer
parameter the correct type, avoiding needless casting.
2014-02-18 22:51:53 +02: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ö
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
Martin Storsjö
61067d488f Fix building with MT_DEBUG enabled after the encoder interface update
There is no struct named SMulSliceOption any longer.
2014-02-18 10:29:48 +02:00
volvet
592665a21d Merge branch 'master' of https://github.com/cisco/openh264 into develop_b 2014-02-18 15:34:06 +08:00
ruil2
8e8972b6e8 fix build fail on osx 2014-02-18 15:16:10 +08:00
volvet
5fe3b6e362 update to the last commit: interface change 2014-02-18 14:00:42 +08:00
ruil2
35fa429fb0 encoder interface update step1 2014-02-18 09:51:47 +08:00
volvet
bb354d7c13 name pre-process steps 2014-02-17 14:41:37 +08:00
volvet
600a79bea6 correct code style 2014-02-17 11:46:52 +08:00
volvet
475309307c move spatial picture related variable to CWelsPreProcess 2014-02-17 11:35:52 +08:00
volvet
488482811c add update spatial pictures method too CWeslPreProcess 2014-02-17 10:53:46 +08:00
volvet
0a5024d176 move alloc spatial picture and free spatial picture to CWelsPreProcess 2014-02-17 10:24:56 +08:00
volvet
7f59e2f8d9 use forward declaration to replace type cast 2014-02-14 16:50:13 +08:00
Ethan Hugg
dbb894442f Merge pull request #284 from volvet/clean_spatial_picture_code
Clean spatial picture alloc code
2014-02-13 15:18:02 -08:00
volvet
6c5b22ceff remove duplicate function 2014-02-13 17:40:02 +08:00
volvet
b770bb80c0 Clean spatial picture alloc code 2014-02-13 12:00:02 +08: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
volvet
d81f3d5037 Merge pull request #279 from sijchen/sad_fix2
fix the range of SAD
2014-02-11 10:32:58 +08:00
Ethan Hugg
8b8e0d4b3e Merge pull request #274 from mstorsjo/typedef-cleanup
Remove typedefs for standard C++ types
2014-02-10 10:46:12 -08:00
Ethan Hugg
1e549e6f9a Merge pull request #271 from mstorsjo/merge-asm-headers
Merge declarations of shared asm functions into the comon library
2014-02-10 10:40:34 -08:00
Ethan Hugg
007f5ba773 Merge pull request #258 from mstorsjo/endian-cleanup
Avoid endian-specific code
2014-02-10 10:36:05 -08:00
Martin Storsjö
80862eec77 Use the C++ constants true/false instead of defining our own
TRUE/FALSE has intentionally been left in use for the few
platform specific APIs that define these constants themselves
and expect them to be used, for consistency.
2014-02-10 08:06:37 +02:00
Martin Storsjö
f2bd22acd5 Use char instead of str_t 2014-02-10 08:06:37 +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ö
17d7b5d72e Use bool_t instead of BOOL_T
One bool typedef is already more than enough, two is too many.
2014-02-10 08:05:09 +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ö
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ö
e66ad9ab86 Remove the real32_t typedef
The float type is defined in standards and is portably available
on all supported compilers and platforms.
2014-02-08 14:12:03 +02:00
Martin Storsjö
ba6bf7da18 Consistently use inline instead of __inline
This seemed to have been missed in 109fecc.
2014-02-08 14:08:46 +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ö
0a14d4c79b Make the deblocking handling endian independent
This avoids having to set a define indicating the endianness.

This doesn't incur any significant measurable slowdown.
2014-01-30 10:33:21 +02:00
Martin Storsjö
21687726d0 Avoid requiring byteswapping functions
Instead of byteswapping a 32 bit word and writing it out as a
whole (which could even possibly lead to crashes due to
incorrect alignment on some platforms), write it out explicitly
in the intended byte order.

This avoids having to set a define indicating the endianness.
2014-01-30 10:16:25 +02:00
Ethan Hugg
fbcd962169 Merge pull request #256 from mstorsjo/bigendian
Make the library work on big endian
2014-01-29 15:24:32 -08:00
Martin Storsjö
cadbec75d8 Fix shifting tricks in deblocking for big endian
The code interprets an array of 4 uint8_t values as one uint32_t
and does shifts on the value. The same optimization can be
kept in big endian as well, but the shift has to be done in the
other direction.

This code could be made truly independent of endianness, but
that could cause some minimal performance degradaion, at least
in theory.

This makes "make test" pass on big endian, assuming that
WORDS_BIGENDIAN is defined while building.
2014-01-29 22:30:33 +02:00
Martin Storsjö
47ec78843a Don't read an uint8_t array as an uint32_t
This makes the code work properly on big endian.

The MC case is similar to how it's done in the encoder.

Neither of these should have any significant performance
impact.
2014-01-29 22:27:55 +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
Ethan Hugg
08638a9396 Merge pull request #252 from mstorsjo/share-processing-asm
Merge identical assembly code between the processing and encoder libs
2014-01-28 11:04:12 -08:00
Ethan Hugg
3c40261256 Merge pull request #251 from mstorsjo/crt-string-cleanup
Clean up the rest of the usage of crt_safe_util_x
2014-01-28 09:42:56 -08:00
Ethan Hugg
0d7bafcebc Merge pull request #248 from mstorsjo/msvc-proj-cleanup
MSVC project file warning cleanup
2014-01-28 09:40:17 -08:00
Martin Storsjö
3761901ed4 Remove sad.asm from the processing lib, move satd_sad from the encoder to the common lib
sad.asm as used in processing is an exact subset of the
code in satd_sad.asm in the encoder.
2014-01-28 13:54:57 +02:00
Martin Storsjö
208f033bcd Use WelsStrcat instead of the STRCAT macro 2014-01-28 12:43:22 +02:00
Martin Storsjö
903f265965 Fix a format string to use the correct type 2014-01-28 12:42:01 +02:00
Martin Storsjö
5c5dcfb14c Remove an unused global variable and commented out code 2014-01-28 12:36:54 +02:00
Martin Storsjö
9840f11784 Remove the now unused count parameter to WelsStrncpy
Also remove manual null termination as WelsStrncpy now always
takes care of it.
2014-01-28 12:13:11 +02:00
Martin Storsjö
215eb56453 Use WelsStrncpy instead of STRNCPY 2014-01-28 12:05:28 +02:00
Martin Storsjö
7791a6d28d Use WelsSnprintf instead of a combination of strlen and STRNCAT
This simplifies the code and makes the buffer size checks
more consistent. Additionally, the previous version wrote
the extra space character without checking if it actually fit
into the buffer.
2014-01-28 12:00:04 +02:00