ruil2
4751fe7690
add scene change detection in workflow for screen content
2014-03-28 11:30:51 +08:00
ruil2
63cef0f0f4
add preprocessing parameter for screen content
2014-03-28 10:06:42 +08:00
sijchen
a60af6a750
add function pointer
2014-03-28 09:09:21 +08:00
sijchen
59f243b487
Adjust function interface and add void function for further coworking, adjust test accordingly
2014-03-26 16:52:53 +08:00
sijchen
bbe016543f
Add basic cross search functions and its unit tests
2014-03-26 16:23:44 +08:00
ruil2
6b3f89d582
move some common functions to common.cpp and add some functions in common
2014-03-25 15:35:55 +08:00
sijchen
99f3bd69c4
Add checking directional MV in ME initial point
2014-03-24 14:16:16 +08:00
Martin Storsjö
b6883b4ef8
Make the iRCMode field use the RC_MODES type instead of plain int
...
This makes it even clearer for users about how to set this field.
2014-03-21 09:19:30 +02:00
Martin Storsjö
2bc8e61fcf
Move the RC_MODES enum to the public header
...
This allows users to know what values to set for the iRCMode
parameter.
2014-03-21 09:18:17 +02:00
Licai Guo
65e8560dc7
Merge pull request #560 from ruil2/encoder_nal
...
add uiMaxNalSize to support the maximum nal size setting
2014-03-21 12:52:32 +08:00
Licai Guo
7a29b1f55a
Merge pull request #549 from lyao2/rc_tune
...
RC LOWBR mode merge
2014-03-21 09:15:18 +08:00
ruil2
fd2c950778
add uiMaxNalSize to support the maximum nal size setting
2014-03-21 08:59:38 +08:00
Licai Guo
58966cb2e8
Merge pull request #558 from ruil2/encoder_level
...
add leve parameter, update profile and usagetype type
2014-03-20 17:16:40 +08:00
ruil2
e6c072b364
add leve parameter, update profile and usagetype type
2014-03-20 17:02:32 +08:00
sijchen
0ea480323e
expand MVD table and rename some macros
2014-03-20 16:56:43 +08:00
ruil2
258185f8c2
add maxbitrate parameter
2014-03-20 14:30:20 +08:00
lyao2
071254748f
avoid QP sudden fluctates
2014-03-20 13:13:32 +08:00
lyao2
4bc881c3ae
RC LOWBR mode merge
2014-03-20 09:26:16 +08:00
ruil2
e74f01ad47
use the same frame type EVideoFrameType in encoder internal
2014-03-19 16:11:06 +08:00
sijchen
7f0c7daad9
expand structure of MD and ME
2014-03-18 09:47:05 +08:00
Licai Guo
2c796337ba
Merge pull request #510 from huili2/remove_basemb
...
remove BASE_MB related code
2014-03-17 08:46:25 +08:00
Martin Storsjö
f4fdb15397
Fix a typo, Smple -> Sample
2014-03-14 23:30:09 +02:00
huili2
b1f596fd69
remove BASE_MB related code
2014-03-14 02:03:41 -07:00
sijchen
6c3d83a8ac
refactor ME for easier adding other search methods
2014-03-14 15:04:35 +08:00
volvet
8962b7c98b
Merge pull request #482 from sijchen/me_refactor1
...
mv range setting refactor
2014-03-13 10:21:39 +08:00
sijchen
d809a7981b
mv range setting refactor
2014-03-13 10:18:01 +08:00
volvet
8b907c18fd
fix idr interval issue
2014-03-12 17:38:25 +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
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
sijchen
53a570556d
add memalign unit test
2014-03-10 16:28:05 +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
ba6b2a8d62
use global trace in encoder
2014-03-10 15:22:40 +08: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
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
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ö
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
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
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
a4cecd8004
Merge pull request #426 from volvet/simplify-layer-process
...
simplify-layer-process
2014-03-07 10:58:28 +08:00
Martin Storsjö
636df2bebb
Use WelsMultipleEventsWaitSingleBlocking within the worker thread on unix as well
...
This avoids using a separate thread for handling pUpdateMbListEvent
events, and later allowing using the encode exit event on unix instead
of pthread cancellation.
2014-03-06 15:34:35 +02:00
Martin Storsjö
801da26d1d
Use WelsMultipleEventsWaitSingleBlocking with a master event for waiting on finished threads
...
This allows using the same codepath for both unix and windows
for distributing new slices to code to threads.
This also improves the performance on unix - instead of waiting
for all the current threads to finish their current slice
before handing out a new slice to each of them (where the threads
that finish first will just wait instead of immediately getting
a new slice to work on), we now use the same logic as on windows.
In one setup, it improves the performance of encoding from ~920 fps
to ~950 fps, and in another setup it goes from ~390 fps to ~660 fps.
(These tests were done with the SM_ROWMB_SLICE mode, which
heavily exercises the code for distributing new slices to the
worker threads.)
The extra WelsEventSignal call on windows where it isn't strictly
necessary doesn't incur any measurable slowdown, so it is kept
without any extra ifdefs to keep the code more readable and unified.
2014-03-06 15:33:37 +02:00
volvet
8cc332dea1
Merge pull request #432 from zhilwang/arm-asm
...
Arm asm
2014-03-06 16:50:56 +08:00
ruil2
28a56a6752
Merge pull request #415 from volvet/remove-useless-mgs-code
...
remove un-supported mgs code
2014-03-06 14:05:04 +08:00
volvet
50fe120a3e
simplify-layer-process
2014-03-06 11:19:33 +08:00
ruil2
334c5765c7
remove inter-deblock related parameters
2014-03-06 10:26:53 +08:00