Commit Graph

1479 Commits

Author SHA1 Message Date
Martin Storsjö
efe32b7900 Make arm assembly labels always start from the beginning of the line
A few labels were misformatted.
2014-03-12 12:01:01 +02:00
volvet
8b907c18fd fix idr interval issue 2014-03-12 17:38:25 +08:00
sijchen
cf37fa3ef4 Merge pull request #476 from ruil2/encoder_slice_auto
modify the parameter verification for SM_AUTO_SLICE mode, review at: https://rbcommons.com/s/OpenH264/r/184/
2014-03-12 16:41:57 +08:00
sijchen
b9e1608022 Merge pull request #479 from volvet/fix-double-free-crash
fix double free crash in encoder
2014-03-12 16:33:51 +08:00
volvet
ce448a21d7 fix double free crash in encoder 2014-03-12 16:21:33 +08:00
ruil2
88fded255a Merge pull request #478 from volvet/fix-encode-crash
fix encode crash
2014-03-12 15:59:30 +08:00
volvet
4d74beb928 fix encode crash 2014-03-12 15:46:13 +08:00
ruil2
c7f2a0b7f6 3Author: ruil2 <ruil2@cisco.com>
modify the parameter verification for SM_AUTO_SLICE mode -- uiSliceNum
 iis ignored
2014-03-12 10:44:13 +08:00
Ethan Hugg
cece1fe2cf Merge pull request #473 from mstorsjo/arm-non-executable-stack
Mark the stack as non-executable in the arm assembly
2014-03-11 09:40:49 -07:00
Licai Guo
594409dc35 Merge pull request #474 from mstorsjo/remove-todo-comment
Remove something that looks like a personal todo note from the Android makefiles
2014-03-11 20:30:07 +08:00
Martin Storsjö
dbdf8fbe9d Remove something that looks like a personal todo note from the Android makefiles 2014-03-11 14:27:14 +02:00
Martin Storsjö
52e8973869 Mark the stack as non-executable in the arm assembly
Otherwise the linker is forced to enable an executable stack for
executables that the code is linked into.
2014-03-11 14:24:16 +02:00
Licai Guo
b773ec60ab Merge pull request #472 from mstorsjo/android-remove-mkdir-workaround
Remove a dubious/unnecessary workaround for an issue in a nonstandard toolchain
2014-03-11 17:30:00 +08:00
volvet
2e0afcccff Merge pull request #471 from ruil2/encoder_slice
fix SM_FIXEDSLCNUM_SLICE bug, add SM_AUTO_SLICE mode
2014-03-11 16:59:49 +08:00
Martin Storsjö
966cc97496 Remove a dubious/unnecessary workaround for an issue in a nonstandard toolchain
There's no requirement to work with the Intel NDK. The NDK build
files don't even need to create any cpufeatures subdirectory since
all of the cpufeatures library is handled within the normal build
system. Finally, the encoder makefile tried to create a directory
for "welsdecdemo", not anything for "welsencdemo".

Thus, if this really was necessary, it would already have been noticed
that it missed an entry for "welsencdemo". Therefore, remove this
hack/workaround.
2014-03-11 10:09:17 +02:00
ruil2
ac9af12f70 modify configure files 2014-03-11 10:32:11 +08:00
ruil2
7c8ce799c0 fix SM_FIXEDSLCNUM_SLICE bug, add SM_AUTO_SLICE mode 2014-03-11 10:23:46 +08:00
Martin Storsjö
c011890764 Push clobbered neon registers on the stack
According to the calling convention, the registers q4-q7 should be
preserved by functions. The caller (generated by the compiler) could
be using those registers anywhere for any intermediate data.

Functions that use more than 12 of the qX registers must push
the clobbered registers on the stack in order to be able to restore them
afterwards.

In functions that don't use all 16 registers, but clobber some of
the callee saved registers q4-q7, one or more of them are remapped
to reduce the number of registers that have to be saved/restored.

This incurs a very small (around 0.5%) slowdown in the decoder and
encoder.
2014-03-10 22:07:36 +02:00
Martin Storsjö
811c647c0e Remap registers to avoid clobbering the neon registers q4-q7
According to the calling convention, the registers q4-q7 should be
preserved by functions. The caller (generated by the compiler) could
be using those registers anywhere for any intermediate data.

Functions that use 12 or less of the qX registers can avoid
violating the calling convention by simply using other registers instead
of the callee saved registers q4-q7.

This change only remaps the registers used within functions - therefore
this does not affect performance at all. E.g. in functions using
registers q0-q7, we now use q0-q3 and q8-q11 instead.
2014-03-10 22:07:25 +02:00
Ethan Hugg
ca457f57e9 Merge pull request #470 from mstorsjo/android-abi-docs
Add documentation about how to build the different ABI variants for android
2014-03-10 10:25:58 -07:00
Martin Storsjö
23e3bddf71 Add documentation about how to build the different ABI variants for android 2014-03-10 19:23:39 +02:00
Ethan Hugg
3627875986 Merge pull request #456 from mstorsjo/use-common-threadlib
Make the processing lib use mutexes from WelsThreadLib from the common library
2014-03-10 09:45:51 -07:00
Ethan Hugg
567302eb9a Merge pull request #410 from mstorsjo/android-armeabi
Allow building plain armeabi binaries for android
2014-03-10 09:44:19 -07:00
Licai Guo
7a26142fca Merge pull request #468 from mstorsjo/include-time-h
Include time.h in the MemoryAlloc test
2014-03-10 22:10:10 +08:00
Licai Guo
731a1466e6 Merge pull request #469 from huili2/svc_sh_bug_fix
modify and correct SVC slice header parse
2014-03-10 22:09:44 +08:00
Martin Storsjö
c3ddd926ba Include time.h in the MemoryAlloc test
This is required to get the time() function. This fixes building
on older MSVC versions.
2014-03-10 11:38:48 +02:00
Licai Guo
091315f84c modify and correct SVC slice header parse 2014-03-10 02:37:41 -07:00
ruil2
44a49b1fef Merge pull request #458 from mstorsjo/android-threading
Don't try to set thread scope and scheduling policy on android
2014-03-10 17:26:00 +08:00
ruil2
a922155c9a Merge pull request #466 from sijchen/add_memalign_test
Add memalign unit test
2014-03-10 17:25:41 +08:00
ruil2
1477f36de2 Merge pull request #467 from sijchen/add_more_slice_mode_test
Specific slice mode in encoder test
2014-03-10 17:25:31 +08:00
sijchen
385128e403 Merge pull request #465 from ruil2/encoder_trace
use global trace in encoder
reviewed at https://rbcommons.com/s/OpenH264/r/176/
2014-03-10 17:22:19 +08:00
Licai Guo
6d9dfe8954 Merge pull request #454 from mstorsjo/android-any-arch
Support building for any other android architecture
2014-03-10 17:20:58 +08:00
sijchen
dfd3d89a20 specific slice mode in encoder test 2014-03-10 16:57:19 +08:00
sijchen
53a570556d add memalign unit test 2014-03-10 16:28:05 +08:00
ruil2
cbc2b9c986 keep the unrelated changed line 2014-03-10 16:11:27 +08:00
ruil2
e99df3377d Merge pull request #460 from mstorsjo/add-const
Mark pointers as const where possible in vaacalc
2014-03-10 15:35:57 +08:00
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
ruil2
ba6b2a8d62 use global trace in encoder 2014-03-10 15:22:40 +08:00
Licai Guo
d63fc1004e Merge pull request #459 from mstorsjo/ios-default-arch
Set the arch to armv7 by default when building for iOS
2014-03-10 12:32:00 +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
huili2
a5411eb747 Merge pull request #464 from licaiguo/fix-type-wels-read-verify
fix WELS_READ_VERIFY
2014-03-10 09:27:56 +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ö
2a23a508e1 Mark pointers as const where possible in vaacalc 2014-03-09 18:52:17 +02:00
Martin Storsjö
67a9e73a7c Set the arch to armv7 by default when building for iOS
Otherwise it would build for the simulator by default, which
in most cases probably isn't what was intended.
2014-03-09 01:46:43 +02:00