Commit Graph

253 Commits

Author SHA1 Message Date
Licai Guo
67534b0fc0 arm asm code refine. 2014-03-06 14:30:16 +08:00
Licai Guo
e7cc8c2780 Add arm asm code for processing. 2014-03-05 16:54:05 +08:00
Licai Guo
248f324c62 Add intra predictor arm asm code. 2014-03-05 10:25:15 +08:00
Licai Guo
efcee63692 Remove .DS_Store file. 2014-03-05 10:24:05 +08:00
Licai Guo
bb244d736b Partly add arm asm code to encoder. 2014-03-05 10:24:05 +08:00
volvet
7150adc91b Merge pull request #407 from mstorsjo/do-blocking-wait
Do a blocking wait with WelsMultipleEventsWaitSingleBlocking
2014-03-05 09:18:45 +08:00
Martin Storsjö
cf07d61f06 Do a blocking wait with WelsMultipleEventsWaitSingleBlocking
There is no point in doing a timed wait here - there's no work
that we can do if the wait timed out, and sleeping for 1 ms
inbetween doesn't help, it only adds potential extra latency
to reacting to threads that need more work to do.
2014-03-04 14:51:33 +02:00
Martin Storsjö
9cf34e7615 Unify the interface for the different variants of WelsCPUFeatureDetect
The caller of the function should not need to know exactly which
implementation of it is being used.

For the variants that don't support detecting the number of cores,
the pNumberOfLogicProcessors parameter can be left untouched
and the caller will use a higher level API for finding it out.

This simplifies all the calling code, and simplifies adding
more implementations of cpu feature detection.
2014-03-04 10:18:30 +02:00
Licai Guo
26218731c6 Merge pull request #386 from volvet/refine_processing
refine build spatial list in processing
2014-03-04 11:15:35 +08:00
volvet
901b89f7ad Merge pull request #376 from mstorsjo/simplify-x86-asm-makefiles
Simplify makefiles with respect to x86 assembly
2014-03-04 10:16:01 +08:00
volvet
bc1850a54d remove uiFrameIdxRc 2014-03-04 09:08:54 +08:00
Ethan Hugg
1eb688264b Merge pull request #395 from mstorsjo/printf-64bit-macro
Use a standard macro for 64 bit printf conversion specifiers
2014-03-03 09:11:51 -08:00
Ethan Hugg
e9593682eb Merge pull request #392 from mstorsjo/unify-threading-ifdefs
Unify ifdef conditions related to threading code
2014-03-03 08:23:30 -08:00
Ethan Hugg
d940a204eb Merge pull request #388 from mstorsjo/initialize-default
Initialize sSpatialLayers[0] in SEncParamExt for GetDefaultParams
2014-03-03 08:20:36 -08:00
Martin Storsjö
e0951599ea Unify ifdef conditions related to threading code
The two different variants of the threadlib basically are
win32 and unix - use _WIN32 to check for this consistently,
instead of occasionally using __GNUC__ to enable the unix
codepath. (__GNUC__ is also defined on mingw, which still is
a windows platform and should use the _WIN32 code.)
2014-03-03 14:55:53 +02:00
Martin Storsjö
3c7dde97ee Use a standard macro for 64 bit printf conversion specifiers
This avoids duplicating the printf line with an ifdef every
time a 64 bit number needs to be printed.
2014-03-03 12:33:34 +02:00
volvet
c7d98a8fa3 Merge pull request #394 from ruil2/encoder_update
add timestamp in encoder interface --- review request#138
2014-03-03 17:31:48 +08:00
unknown
e0e7107ff1 add timestamp in encoder interface 2014-03-03 17:05:06 +08:00
Martin Storsjö
9ccabd1fe3 Fix cropping when using SEncParamBase
The iFrameWidth/iFrameHeight fields are already aligned by the
SetActualPicResolution() function. Previously when iFrameWidth was
aligned directly in ParamBaseTranscode, this aligned value was used
to set iActualWidth/iActualHeight - losing the original, cropped
size.

This makes sure the output bitstream from the test of encoding
res/Static_152_100.yuv actually is cropped as it should.
2014-03-03 10:34:37 +02:00
Martin Storsjö
e392932ad2 Initialize sSpatialLayers[0] in SEncParamExt for GetDefaultParams 2014-03-03 10:32:20 +02:00
volvet
775eebaf36 refine build spatial list in processing 2014-03-03 14:04:19 +08:00
ruil2
b552944453 fix sizeof() bug 2014-03-03 10:46:32 +08:00
volvet
e3bf5ced53 Merge pull request #371 from ruil2/encode_ret
add verification on return value -- review request #128
2014-03-03 10:27:26 +08:00
ruil2
abdeb1951d format update 2014-03-03 09:07:16 +08:00
ruil2
23df8a9ff6 add video format support verification 2014-03-03 09:03:59 +08:00
volvet
3a602a382b Merge pull request #379 from mstorsjo/simplify-emms-calling
Provide a no-op WelsEmms macro if X86_ASM is disabled
2014-03-03 09:03:41 +08:00
volvet
5be179e0aa Merge pull request #378 from mstorsjo/fix-building-debug-code
Fix building a logging statement in debug code
2014-03-03 09:00:59 +08:00
Martin Storsjö
2b82a5743d Fix printing an event name for debugging 2014-03-02 23:49:50 +02:00
Martin Storsjö
dd47d4805f Provide a no-op WelsEmms macro if X86_ASM is disabled
This allows always calling this function, reducing the number
of ifdefs in the calling code.
2014-03-02 23:46:20 +02:00
Martin Storsjö
26d66a4e1f Fix building a logging statement in debug code 2014-03-02 23:45:14 +02:00
Martin Storsjö
3ccd2ae4cf Remove a redundant makefile ifdef
ASM_ARCH=x86 is only set if USE_ASM is enabled.
2014-03-01 23:56:14 +02:00
Ethan Hugg
6e9df66272 Merge pull request #369 from sijchen/mt_refactor3
[Encoder] remove macros to clear codes
2014-02-28 08:28:18 -08:00
Martin Storsjö
7d2c761604 Allow using the USE_ASM makefile variable for architectures other than x86
Add an ASM_ARCH variable which specifies which kind of assembly
is supposed to be built.
2014-02-28 10:19:53 +02:00
volvet
4808eca022 update comments on welsEncoderEncodeExt 2014-02-28 15:27:54 +08:00
volvet
4c951aab83 refine welsEncoderEncodeExt 2014-02-28 15:13:38 +08:00
sijchen
10a4fb04c7 remove macros to clear codes 2014-02-28 14:54:11 +08:00
ruil2
823b3b6820 add verification on return value 2014-02-28 14:31:17 +08:00
volvet
d0d050d8e5 refine encode plus code 2014-02-28 13:06:49 +08:00
Ethan Hugg
e5ee43173d Merge pull request #361 from mstorsjo/get-core-count
Use higher level APIs for getting the number of cores if WelsCPUFeatureDetect didn't report anything
2014-02-27 10:51:17 -08:00
Martin Storsjö
c7ff8876bb Add a new public method for initializing SEncParamExt to default values
This simplifies forward source compatibility when new fields are
added to SEncParamExt - when new fields are added to SEncParamExt,
this method makes sure those fields are initialized to the
default value - otherwise all API users would have to manually check
SEncParamExt every time it is updated to make sure there's no new fields
that should be set to a nonzero value by default (e.g. like
bEnableFrameSkip).
2014-02-26 22:12:11 +02:00
Martin Storsjö
6021ff3908 Refactor initializing defaults in a SEncParamExt to a separate function 2014-02-26 22:03:56 +02:00
Martin Storsjö
bb5b3978bf Use higher level APIs for getting the number of cores if WelsCPUFeatureDetect didn't report anything
On processors without HTT, WelsCPUFeatureDetect can't return
a number of cores but might still return a nonzero set of
CPU feature flags. Previously the nonzero cpu feature flag
indicated that cpuid worked and the encoder wouldn't use the
higher level API for getting the number of cores, even though the
number of cores was left at 1.
2014-02-26 21:43:46 +02:00
Martin Storsjö
e239d9fddc Fix a typo in a function pointer name 2014-02-26 21:26:54 +02:00
Licai Guo
c9a25e9494 Merge pull request #342 from volvet/rm-unsupported-para
remove inter spatial layer prediction in parameters
2014-02-24 13:22:16 +08:00
volvet
f4d8882d2e remove inter spatial layer prediction in parameters 2014-02-24 11:06:09 +08:00
ruil2
c79e78c4fb cleanup encoder parameters 2014-02-24 10:40:17 +08:00
volvet
bf0179310c Merge pull request #340 from zhilwang/ios-support
Ios support
2014-02-24 09:50:10 +08:00
Martin Storsjö
b31049df89 Respect the iDLayerQp parameter in SEncParamExt
Previously the value set in the parameter struct was ignored
completely.
2014-02-23 00:14:39 +02:00
Martin Storsjö
08c07db3c6 Respect the loop filter disabling encoder parameter
Previously the loop filter was unconditionally enabled
regardless of what encoder parameter was set. If using
SEncParamBase instead, the loop filter was always disabled.
2014-02-23 00:14:39 +02:00
Martin Storsjö
8b7fb36f39 Set missed fields in ParamBaseTranscode
Previously, these fields kept whatever value was set by
FillDefault. The corresponding fields were set properly within
sSpatialLayers, but the fields within the main struct were left
with the default values.

This doesn't change the hashes in the unit test, since these
fields don't seem to be used in the produced bitstream at all.
2014-02-23 00:14:39 +02:00