Commit Graph

674 Commits

Author SHA1 Message Date
ruil2
02bafd9320 Merge pull request #445 from mstorsjo/use-thread-param
Use the iMultipleThreadIdc field from SEncParamExt
2014-03-10 15:28:04 +08:00
ruil2
86f37f047c Merge pull request #452 from mstorsjo/use-slice-mode-enum
Use SliceModeEnum as data type for the slice mode fields
2014-03-10 15:27:04 +08:00
ruil2
2539d6e447 Merge pull request #462 from mstorsjo/fix-typos
Fix two typos in variable and macro names
2014-03-10 15:25:20 +08:00
Licai Guo
4cc059bf5b Merge pull request #461 from mstorsjo/fix-asm-comments
Remove unnecessary/stray keywords in function signature comments in x86 assembly
2014-03-10 12:29:22 +08:00
Licai Guo
b2dafa5a92 fix WELS_READ_VERIFY 2014-03-09 18:12:53 -07:00
Martin Storsjö
cc7b81f3c3 Fix a typo in arm assembly, LORD -> LOAD 2014-03-09 19:19:38 +02:00
Martin Storsjö
e31ba7a775 Fix a typo, "heigth" -> "height" 2014-03-09 19:19:37 +02:00
Martin Storsjö
7c435ad295 Remove a stray inline keyword in a function signature comment in x86 assembly
Assembly functions written in external assembly files is obviously
not inlined.
2014-03-09 19:18:03 +02:00
Martin Storsjö
8d6b368a1c Remove unnecessary stray __cdecl annotations in function signature comments in x86 assembly 2014-03-09 19:18:02 +02:00
Martin Storsjö
fd90d14ece Enable threading when building for iOS using the project files
This was already enabled when building the library for iOS using
the makefiles.
2014-03-08 13:06:05 +02:00
Martin Storsjö
45c21931de Add NO_DYNAMIC_VP when building the encoder lib for the iOS simulator
This was previously only added to builds for actual devices.
2014-03-08 13:05:45 +02:00
Martin Storsjö
5df2e2a996 Use SliceModeEnum as data type for the slice mode fields
This makes the use of the field clearer and safer by allowing
the compiler check that users actually assign proper enum
values.
2014-03-08 00:23:58 +02:00
Martin Storsjö
ce7b00ea72 Get rid of an unnecessary cast by declaring the right pointer type 2014-03-08 00:17:30 +02:00
Ethan Hugg
09b45e3ef9 Merge pull request #440 from licaiguo/refine-pps-sps
Refine pps sps
2014-03-07 11:02:02 -08:00
Ethan Hugg
fb4f677f77 Merge pull request #446 from mstorsjo/remove-unnecessary-public-param
Move the iCountThreadsNum field to SWelsSvcCodingParam
2014-03-07 09:18:52 -08:00
Ethan Hugg
7632510209 Merge pull request #450 from mstorsjo/publish-slice-mode-enum
Move the slice mode enum to the public API
2014-03-07 09:17:03 -08:00
volvet
f62492716f Merge pull request #449 from mstorsjo/avoid-opaque-pointer
Make ParamValidationExt use the actual type instead of a void pointer
2014-03-08 00:27:47 +08:00
Martin Storsjö
014f4d8250 Merge the slice mode comments with the enum 2014-03-07 14:53:29 +02:00
Martin Storsjö
5f1c207845 Move the slice mode enum to the public header
This simplifies setting the slice mode in the public API.
2014-03-07 14:53:29 +02:00
Martin Storsjö
495a4a392e Make ParamValidationExt use the actual type instead of a void pointer 2014-03-07 14:51:34 +02:00
Martin Storsjö
555bf6340f Remove a misleading cast
uiSliceSizeConstraint is not of the SliceMode type, but is a normal
int.
2014-03-07 14:49:33 +02:00
Martin Storsjö
656e4c5c35 Move the iCountThreadsNum field to SWelsSvcCodingParam
There is no point in the user setting this field, it's only used
as an internal field within the encoder.
2014-03-07 14:48:38 +02:00
Martin Storsjö
dbc324d5bb Use the iMultipleThreadIdc field from SEncParamExt 2014-03-07 14:47:43 +02:00
volvet
355bbacc2d Merge pull request #443 from mstorsjo/rerun-mktargets
Rerun mktargets.sh
2014-03-07 18:25:20 +08:00
volvet
3382e8f8c4 Merge pull request #441 from mstorsjo/remove-stray-macro-parameters
Remove unused/undeclared arm assembly macro parameters
2014-03-07 18:24:33 +08:00
Martin Storsjö
64b4556d13 Rerun mktargets.sh
This fixes inconsistent indentation of one line, caused by
manually editing one of the targets.mk files.
2014-03-07 11:30:19 +02:00
Martin Storsjö
5b8ee37162 Merge WelsThreadDestroy into WelsThreadJoin
Now calling WelsThreadJoin is enough to finish and clean up
the thread on all platforms.

This unifies the thread cleanup code between windows and unix.

Now all of the threading code should use the exact same codepaths
between windows and unix.
2014-03-07 10:51:28 +02:00
Martin Storsjö
b4aa9be7de Use WelsThreadJoin on windows as well
This avoids using a separate event just for signalling that
a thread has finished running.
2014-03-07 10:51:28 +02:00
Martin Storsjö
474deacd7a Remove the now unused thread cancellation support
This makes the thread library build on android - android does
not have pthread_cancel.
2014-03-07 10:51:14 +02:00
Martin Storsjö
baaa38737e Use pExitEncodeEvent instead of thread cancellation on unix as well
This works now that we've got a suitably working implementation
of WelsMultipleEventsWaitSingleBlocking.
2014-03-07 10:49:39 +02:00
volvet
38a3fada24 Merge pull request #435 from mstorsjo/threadlib-wait-single-unix
Make WelsMultipleEventsWaitSingleBlocking usable on unix as well
2014-03-07 16:47:38 +08:00
Licai Guo
1b9aae8434 Merge pull request #439 from zhilwang/mc-arm-asm
mv mc_neon.S to common,add MC arm code to encoder
2014-03-07 16:36:48 +08:00
ruil2
b3c45946ff modify typing format 2014-03-07 16:29:12 +08:00
Martin Storsjö
c87bb2b449 Remove unused/undeclared arm assembly macro parameters
The SAD_VAR_16_END macro only takes 3 parameters, never 4,
and SAD_SSD_16_END never is called with more than 3 parameters
either.
2014-03-07 10:26:54 +02:00
Licai Guo
e5f36822a9 Update targets.mk files 2014-03-07 16:22:59 +08:00
Licai Guo
d986c27b9d remove mc_neon.S from encoder 2014-03-07 16:11:36 +08:00
ruil2
f0c6c2b318 Merge branch 'master' of https://github.com/cisco/openh264 into encoder_update 2014-03-07 15:59:23 +08:00
Licai Guo
8ad9e0b60d use temp buffer to store new arrived PPS/SPS 2014-03-06 22:05:12 -08:00
Licai Guo
8a3518f7be set bAuReadyFlag to true when we meet a PPS 2014-03-06 21:50:31 -08:00
Licai Guo
71467f948a mv mc_neon.S to common,add MC arm code to encoder 2014-03-07 12:18:58 +08:00
Licai Guo
a4cecd8004 Merge pull request #426 from volvet/simplify-layer-process
simplify-layer-process
2014-03-07 10:58:28 +08:00
volvet
14f5518e6a Merge pull request #437 from mstorsjo/fix-arm-encoder-android
Fix building arm encoder assembly for android
2014-03-07 10:41:34 +08:00
ruil2
594fc4fe7b dump file refactor 2014-03-07 10:23:25 +08:00
volvet
b3fa8dd334 Merge pull request #418 from mstorsjo/ios-neon-detection
Use the __ARM_NEON__ built-in compiler define for identifying neon capability on iOS
2014-03-07 09:15:17 +08:00
Ethan Hugg
2f2801dc78 Merge pull request #434 from mstorsjo/threadlib-core-count-android
Use the cpu-features NDK library for detecting the number of cores in WelsThreadLib
2014-03-06 08:02:28 -08:00
Martin Storsjö
11bdebb12c Explicitly enable the UAL syntax when using gnu tools
Arm assembly has got two variants of the syntax, the old legacy
syntax, and the new modern UAL (unified assembly language) syntax.

Most arm assembly is the same in the both syntaxes, but some
uncommon cases change the order of suffixes - the "subscs"
instruction would be written "subcss" in the old syntax.

The apple tools default to UAL, while the GNU tools (e.g. in
android) require you to specify ".syntax unified" to enable the
new syntax. When enabling the new syntax with the GNU tools, some
cases of "sub r0, r1, lsl #1" needs to be written explicitly as
"sub r0, r0, r1, lsl #1", handled in the previous commit.

This allows using the same, modern syntax for things like subscs,
without needing to have two alternate forms of writing it.
2014-03-06 16:21:54 +02:00
Martin Storsjö
c0043f7053 Use the three-operand form of add/sub with shift
When using unified syntax, the two operand form with a shift
isn't allowed.
2014-03-06 16:21:54 +02:00
Martin Storsjö
f1502c26e3 Don't use WELS_ASM_FUNC_END in the middle of a function
WELS_ASM_FUNC_END declares the end of the function, and needs
to be paired with WELS_ASM_FUNC_BEGIN.
2014-03-06 16:21:54 +02:00
Martin Storsjö
8ba79262bf Rename a function to avoid conflicts between almost duplicate neon functions
There's a different version of the same function in the encoder,
but they're not identical - the encoder version has got stricter
alignment requirements.

If someone can confirm that it is ok to use the function from the
encoder, pixel_sad_neon.S in processing could be deleted, and the
encoder version moved to codec/common instead.
2014-03-06 16:19:48 +02:00
Martin Storsjö
4e4bfcc1bc Regenerate makefiles to include the encoder arm assembly 2014-03-06 16:11:54 +02:00