ruil2
c8eaea2f27
add memory allocation for screen content
2014-04-10 17:07:26 +08:00
Martin Storsjö
3dcd458ffd
Remove trailing whitespace in the source files
2014-04-08 18:13:23 +03:00
ruil2
37f20f1c5e
update pre-processing workflow for screen content
2014-04-08 14:42:30 +08:00
volvet
d98ba6137c
remove RC enable flag, use RC Mode to indicate RC on or off
2014-04-07 22:08:28 -07:00
ruil2
9993198a3c
Merge pull request #633 from volvet/rm_redundant_protect
...
remove redundant protect code
2014-04-04 09:50:57 +08:00
volvet
02b08d278a
Merge pull request #623 from ruil2/enc_update
...
add the condition branch for screen content
Approved by Sijia Chen @ RBComments
2014-04-03 18:15:58 -07:00
volvet
e2e106a4a4
remove redundant protect code
2014-04-03 17:14:56 -07:00
volvet
6debb3460c
fix pic partition bug
2014-04-03 13:38:12 -07:00
ruil2
27da2b21bf
add the condition branch for screen content
2014-04-02 17:23:46 +08:00
sijchen
f695227b00
add funtion pointer for search methods
2014-04-02 10:12:39 +08:00
ruil2
e7603d8fbb
use function pointer in reference frame management
2014-04-01 14:52:55 +08:00
Licai Guo
9a81260b24
Merge pull request #605 from volvet/clean_mt_macro
...
clean multi-threading macro
2014-04-01 14:50:31 +08:00
ruil2
6bb23f5df4
use WelsLog instead of fprintf to have a unified trace output
2014-04-01 09:24:57 +08:00
volvet
9f50e0c91e
clean multi-threading macro
2014-03-31 18:24:10 -07:00
volvet
cad753d871
Merge pull request #603 from ruil2/vp_update2
...
add scene change for screen content
Approved by Sijia.
2014-03-31 13:59:29 -07:00
ruil2
aed919a65a
add scene change for screen content
2014-03-31 17:14:00 +08:00
unknown
a128d7f790
add usagetype setting for screen content
2014-03-31 14:00:25 +08:00
sijchen
a60af6a750
add function pointer
2014-03-28 09:09:21 +08:00
sijchen
bbe016543f
Add basic cross search functions and its unit tests
2014-03-26 16:23:44 +08:00
sijchen
fcae0c7c48
Change the output of diamond search from qpel to interpel
2014-03-25 11:03:37 +08:00
sijchen
99f3bd69c4
Add checking directional MV in ME initial point
2014-03-24 14:16:16 +08:00
ruil2
fd2c950778
add uiMaxNalSize to support the maximum nal size setting
2014-03-21 08:59:38 +08:00
sijchen
0ea480323e
expand MVD table and rename some macros
2014-03-20 16:56:43 +08:00
Licai Guo
9d73d273ff
Merge pull request #554 from ruil2/encoder_update
...
add maxbitrate parameter
2014-03-20 14:57:54 +08:00
ruil2
258185f8c2
add maxbitrate parameter
2014-03-20 14:30:20 +08:00
sijchen
e0aed6e4e7
add static
2014-03-20 14:19:55 +08:00
sijchen
c00bec2aa6
refactor the setting of function pointer for simplification
2014-03-20 09:51:57 +08:00
Ethan Hugg
e8540af9eb
Merge pull request #541 from licaiguo/disable-warnings
...
disable most warnings produced by -Wall
2014-03-19 09:17:34 -07:00
Licai Guo
a688f5278a
fix most of the warnings
2014-03-19 01:16:08 -07:00
ruil2
e74f01ad47
use the same frame type EVideoFrameType in encoder internal
2014-03-19 16:11:06 +08:00
Ethan Hugg
197423f271
Merge pull request #520 from ylatuya/master
...
Fix compiler warnings and remove dead code
2014-03-18 13:28:02 -07:00
Andoni Morales Alastruey
ae60f1bee9
Fix compiler warnings and remove dead code
...
Fix several -Werror=unused-variable and -Werror=unused-but-set-variable
and removed dead code found with this warnings
2014-03-18 19:15:25 +01:00
ruil2
36d56b6638
modify EncoderFrame return type.
...
commit b99a307ab94183c32a293ad5fda8b0e3323546a0
Author: ruil2 <ruil2@cisco.com>
Date: Wed Mar 12 13:34:27 2014 +0800
fix typo
2014-03-17 10:46:38 +08:00
sijchen
6c3d83a8ac
refactor ME for easier adding other search methods
2014-03-14 15:04:35 +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
ruil2
7c8ce799c0
fix SM_FIXEDSLCNUM_SLICE bug, add SM_AUTO_SLICE mode
2014-03-11 10:23:46 +08:00
ruil2
ba6b2a8d62
use global trace in encoder
2014-03-10 15:22:40 +08:00
Martin Storsjö
ce7b00ea72
Get rid of an unnecessary cast by declaring the right pointer type
2014-03-08 00:17:30 +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ö
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ö
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
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
Martin Storsjö
de32455d87
Remove the timeout parameter from WelsMultipleEventsWaitSingleBlocking
...
All users of the function passed the value corresponding to
"infinite", and the (currently unused) unix implementation of it
only supported infinite wait as well.
2014-03-06 15:03:59 +02: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
ruil2
334c5765c7
remove inter-deblock related parameters
2014-03-06 10:26:53 +08:00
volvet
e9395bbd35
remove un-supported mgs code
2014-03-05 15:17:07 +08:00
volvet
adb27ff0b1
Merge pull request #405 from mstorsjo/simplify-threads
...
Adjust WELS_EVENT definitions to allow sharing more code between unix and win32 codepaths
2014-03-05 12:31:15 +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