442 Commits

Author SHA1 Message Date
huade
4a4ade1201 refact WriteSliceBs() 2015-11-26 09:32:33 +08:00
huade
d02addd90f remove pCountMbNumInSlice from SSliceCtx 2015-11-25 13:36:37 +08:00
HaiboZhu
01016b1c83 Merge pull request #2264 from sijchen/api41
[Encoder] put bUseLoadBalancing into actual usage and add test case for it
2015-11-24 14:16:21 +08:00
huade
f263f0710a remove pSliceComplexRatio from SliceThreading 2015-11-24 10:44:23 +08:00
huade
b001785eee remove pSliceConsumeTime in SSliceCtx and pSliceThreading 2015-11-24 08:58:37 +08:00
sijchen
f3c4b878ff update the usage of flag and MD5 value 2015-11-23 11:54:43 -08:00
huade
9ef07c5b99 remove pFirstMbInSlice in SSliceCtx 2015-11-20 09:51:01 +08:00
huade
b77b68ffa0 change input parameters for UpdateMbNeighbourInfoForNextSlice etc. 2015-11-19 17:18:03 +08:00
huade
c842c5c946 change input parameters for DynamicAdjustSlicePEncCtxAll etc, SSliceCtx refactoring 2015-11-19 15:00:38 +08:00
huade
b60bb67b4e SSliceCtx struture refactoring----change input paramters for Init/UninitSlicePEncCtx() 2015-11-19 13:19:34 +08:00
huade
35ab32b1a3 remove (ppCtx)->pSliceCtxList and only keep DqLayer->sSliceCtx to simply the structure manage 2015-11-19 11:03:50 +08:00
huade
06eb03578d SSliceCtx struture refactoring----change input paramters for UpdateMbListNeighborParallel 2015-11-17 17:54:58 +08:00
sijchen
6fe05b0996 add error handling of task returns 2015-11-13 12:05:06 -08:00
sijchen
b5d890c1ea Merge pull request #2224 from sijchen/thp73
[Encoder] put the logic related to multiple D layer into a class …
2015-11-13 11:57:07 -08:00
sijchen
e508c86dac fix the missing loadbalancing part 2015-11-12 13:15:07 -08:00
sijchen
aeb5ab4b99 [Encoder] put the logic related to multiple D layer into a class for better structure 2015-11-11 22:55:16 -08:00
HaiboZhu
beacba76e3 Merge pull request #2220 from sijchen/thp61
[Encoder] add preencodingtasklist in task management
2015-11-12 13:54:49 +08:00
sijchen
33c378f7b7 change API for slicing part for easier usage (the UseLoadBalancing flag is still under working) 2015-11-10 09:50:06 -08:00
Sijia Chen
ee27d13262 add preencodingtasklist in task manegement
add interface to enable different task list
2015-11-03 09:33:26 -08:00
sijchen
b0c6ea9385 Merge pull request #2206 from sijchen/thp42
[Encoder] adjust encoder tasks, add ut and enable new thread pool under some cases
2015-11-03 09:05:43 -08:00
Sijia Chen
054a297ca7 adjust encoder tasks, add ut and enable new thread pool under some slice modes 2015-10-28 09:39:26 -07:00
Martin Storsjö
1661a60090 Avoid warnings in the cabac code
Use int32_t for a parameter that is always 0 or 1, because it is
negated. This fixes "warning C4146: unary minus operator applied
to unsigned type, result still unsigned" in MSVC.

Also add casts to silence MSVC warnings about "conversion from
'WelsEnc::cabac_low_t' to 'uint8_t', possible loss of data".

The generated code still is identical to before, on both gcc
and clang.
2015-10-28 14:39:30 +02:00
HaiboZhu
1a7a3e2462 Merge pull request #2188 from shihuade/PSliceRefact_V1.2
refact WelsMarkPic based on pSlice buffer refactoring
2015-10-28 11:04:22 +08:00
huade
ff8bb6238d refact WelsMarkPic based on pSlice buffer refactoring 2015-10-27 17:44:55 +08:00
HaiboZhu
51d8e00564 Merge pull request #2180 from saamas/cabac_encode_opt
[Encoder] CABAC optimizations
2015-10-26 09:02:51 +08:00
Sindre Aamås
ed133d4c3d [Encoder] CABAC optimizations
~2.4x speedup (time attributed to all CABAC-related fuctions) on x86
(Ivy Bridge) with GCC version 4.9.2 (Debian 4.9.2-10).

~1.3x overall faster encode on a quick 720p30 6Mbps test.

Reviewed at https://rbcommons.com/s/OpenH264/r/1347/
2015-10-21 12:53:12 +02:00
Sijia Chen
819f6f5d93 [Encoder] add encoder tasks and task-management class
https://rbcommons.com/s/OpenH264/r/1334/
2015-10-19 22:48:28 -07:00
HaiboZhu
af6a9a838f Merge pull request #2152 from mstorsjo/remove-unused-code
Remove unused source files from the encoder
2015-10-15 12:03:41 +08:00
Haibo Zhu
03d16bb4d1 Remove UBSAN warnings about negative left shift 2015-10-14 19:43:19 -07:00
Martin Storsjö
5ff8af6883 Remove unused source files from the encoder 2015-10-13 12:21:34 +03:00
Sijia Chen
53c057a8a8 fix for simulcast case when the frame rate of lower resolution is higher, and add test case 2015-09-21 15:42:17 -07:00
huade
7b286bc637 replace LayerBsInfo with FrameBsInfo in thread-based private data structure 2015-08-27 17:24:48 +08:00
karina li
d569a0276b convert maxqp and minqp to encoder 2015-08-17 13:19:20 +08:00
Sijia Chen
9aafb779eb 1, refactor to remove similar function (WriteSliceToFrameBs is removed)
2, use slice-level variable in child-thread function so there can be a better independency in child-thread function
    3, add two more test cases
2015-08-03 21:42:47 -07:00
HaiboZhu
b6ddfabf2b Merge pull request #2028 from sijchen/mt42
[Encoder] save memory usage and improve error return logic under VLCOVERFLOW
2015-07-16 11:38:24 +08:00
Martin Storsjö
282eda21cb Remove unnecessary tabs in the middle of lines
At 6ff4ef3b38 all the (stray, mixed) tabs had been cleaned out from
the source code; remove newly added tabs and convert to spaces.
2015-07-13 23:05:26 +03:00
sijchen
41caf38152 Merge pull request #2027 from sijchen/dbp2
[Encoder] use func pointer for deblocking to save judgements at each slice
2015-07-10 11:02:37 +08:00
Sijia Chen
e70621c194 save memory usage and improve error return logic under VLCOVERFLOW 2015-07-09 12:37:08 +08:00
Sijia Chen
cae5af52d7 use func pointer for deblocking to save judgements at each slice 2015-07-09 10:03:00 +08:00
huili2
338a448946 modify sub_mb_type to be faster, and fix a function nam typo 2015-07-06 13:46:32 +08:00
Sijia Chen
43ca6db9f5 put pSliceBsBuffer to thread buffer rather than per slice, so as to save memory usage 2015-07-03 09:55:16 +08:00
huili2
57bd721b2f add sub8x8 mode decision functions 2015-06-30 10:29:49 +08:00
Sijia Chen
99aaf3198c first version of post-frame skipping for rate control (not enabled) 2015-06-23 17:04:02 +08:00
huili2
dea4303357 Merge pull request #1994 from sijchen/mt1
[encoder] remove one always-on macro to save code complexity
2015-06-19 08:44:16 +08:00
Sijia Chen
daee3dcf22 remove one always-on macro to save code complexity, and use core-1 for multi-threading in real-time 2015-06-15 18:09:39 +08:00
Sijia Chen
dea37ce439 add a frame-skip setting option 2015-06-11 12:35:03 +08:00
Martin Storsjö
78e0ec6130 Convert tabs to spaces before comments 2015-06-10 10:22:29 +03:00
Martin Storsjö
3052b7ac64 Remove tabs from vertically aligned function declarations and typedefs 2015-06-10 10:22:13 +03:00
Martin Storsjö
764793d74b Remove tabs in struct and class definitions 2015-06-10 10:22:01 +03:00
Martin Storsjö
ca51ee0f44 Remove tabs where a simple space is just enough 2015-06-10 10:21:52 +03:00