Commit Graph

2593 Commits

Author SHA1 Message Date
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
huili2
9fade10d77 disable wrongly calling for parseonly related 2015-11-24 11:11:27 +08:00
huade
f263f0710a remove pSliceComplexRatio from SliceThreading 2015-11-24 10:44:23 +08:00
HaiboZhu
aeb55e07fe Merge pull request #2268 from HaiboZhu/Update_ftell_fseek_support_long_file
Update encoder console to support 64bit file length
2015-11-24 10:35:54 +08:00
Haibo Zhu
d7644664a6 Update the ftell and fseek to support 64bit length 2015-11-24 09:23:18 +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
c298755da5 SSliceCtx structure refactoring----change input parameters for AssignMbMapMultipleSlices 2015-11-19 13:29:16 +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
HaiboZhu
f9d8e9a76e Merge pull request #2249 from huili2/remove_output_colorformat
remove data format in decoder API
2015-11-19 09:11:29 +08:00
ruil2
174f09bd10 Merge pull request #2246 from shihuade/MultiThread_V4.1_SliceCtx_V2_Pull
SSliceCtx structure refactoring----change input parameters for UpdateSl…
2015-11-18 13:42:20 +08:00
huade
8d44427dc6 SSliceCtx struture refactoring----change input paramters for UpdateSlicepEncCtxWithPartition 2015-11-17 20:54:27 +08:00
huade
06eb03578d SSliceCtx struture refactoring----change input paramters for UpdateMbListNeighborParallel 2015-11-17 17:54:58 +08:00
huili2
dc2cbe4a22 remove API data format in decoder in 1.6 2015-11-17 13:58:57 +08:00
sijchen
7bc1b7abf5 Merge pull request #2240 from ruil2/qp_trace
add qp related trace
2015-11-16 10:36:24 -08:00
sijchen
18fdf6292d Merge pull request #2239 from ruil2/remove_trace
remove iAbsDiffPicNumMinus1 processing for no reference frame
2015-11-16 10:36:00 -08:00
huade
953f74a8a2 astyle for codec/encoder/core/src/slice_multi_threading.cpp 2015-11-16 15:20:24 +08:00
Karina
96b5b3965e add qp related trace 2015-11-16 13:08:48 +08:00
Karina
42222b8e7e remove iAbsDiffPicNumMinus1 processing for no reference frame 2015-11-16 12:22:10 +08:00
HaiboZhu
8d2883277c Merge pull request #2236 from sijchen/thp82
[Encoder] add error handling of task returns
2015-11-16 10:26:45 +08:00
huade
0d4d32efbd fixed bug for NeedDynamicAdjust() 2015-11-16 08:57:38 +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
Haibo Zhu
628befe8be Revert "Merge pull request #2217 from huili2/simply_dec_ctx"
This reverts commit 27172bafd7, reversing
changes made to 24916a652e.
2015-11-13 20:16:03 +08:00
Karina
7c1fbad53a fix crash 2015-11-13 17:16:26 +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
HaiboZhu
1a2606f45d Merge pull request #2219 from sijchen/api3
[Encoder] change API for slicing part for easier usage
2015-11-11 09:19:03 +08:00
HaiboZhu
27172bafd7 Merge pull request #2217 from huili2/simply_dec_ctx
remove bParseonly in ctx using that in param, and slightly modify the…
2015-11-11 09:18:04 +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
HaiboZhu
643df65c58 Merge pull request #2212 from ruil2/rc2
remove an useless code line
2015-11-09 09:53:28 +08:00
Karina
e20ce63778 do GOM rate control for I frame 2015-11-06 16:08:52 +08:00
Karina
a251504aa2 remove an useless code line 2015-11-06 13:43:21 +08:00
Sijia Chen
2dab8bf087 fix for a slicing and multi-threading setting 2015-11-03 14:42:56 -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
597adfd98c Merge pull request #2207 from sijchen/thp53
[Encoder] remove unneeded codes and add some logs (basing on PR2206)
2015-11-03 09:05:55 -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
3d3884641c use the correct commit number in comment 2015-11-02 23:19:02 -08:00
Sijia Chen
3e0ee69812 remove unneeded codes and add some logs 2015-11-02 23:15:29 -08:00
HaiboZhu
cda6a1fa76 Merge pull request #2191 from mstorsjo/cabac-warnings
Avoid warnings in the cabac code
2015-10-29 14:19:22 +08:00
HaiboZhu
17934b9843 Merge pull request #2192 from sijchen/fix_slc
[Encoder] change an improper setting of max_slice_count
2015-10-29 14:17:26 +08:00
HaiboZhu
0292647449 Merge pull request #2195 from sijchen/add_stat_log
[Encoder] Log enhancement for easier debugging
2015-10-29 14:17:19 +08:00
sijchen
1ed0e8c37b Merge pull request #2196 from shihuade/PSliceRefact_V1.5
refact WelsMarkPicScreen  based on pSlice buffer refactoring
2015-10-28 21:28:42 -07:00
huade
d962ff1ed1 refact WelsMarkPicScreen based on pSlice buffer refactoring 2015-10-29 09:17:39 +08:00
Sijia Chen
32669bc941 change an improper setting of max_slice_count 2015-10-28 13:55:21 -07: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
HaiboZhu
fe7684bf37 Merge pull request #2187 from shihuade/PSliceRefact_V1.1
refact slice header init
2015-10-28 09:58:31 +08:00
huade
ff8bb6238d refact WelsMarkPic based on pSlice buffer refactoring 2015-10-27 17:44:55 +08:00
huili2
777dbc09d4 remove bParseonly in ctx using that in param, and slightly modify the initialize process of decoder 2015-10-27 16:12:08 +08:00
HaiboZhu
a3e60a1c6f Merge pull request #2186 from shihuade/PSliceRefact_V1.0
change the AbsDiffPicNumMinus1 check logic
2015-10-27 15:07:54 +08:00
HaiboZhu
51d8e00564 Merge pull request #2180 from saamas/cabac_encode_opt
[Encoder] CABAC optimizations
2015-10-26 09:02:51 +08:00
huade
08f7ad3f1f refact slice header init 2015-10-23 15:46:06 +08:00
huade
741c122399 change the AbsDiffPicNumMinus1 check logic 2015-10-23 14:45:18 +08:00
HaiboZhu
e0cee02d77 Merge pull request #2177 from sijchen/thp21
[Encoder] add encoder tasks and task-management class
2015-10-23 13:21:42 +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
Martin Storsjö
80c8b7b1cc Add a missing include of stdlib.h
This is required for malloc in this header.

This fixes building for Windows Phone.
2015-10-20 08:59:41 +03: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
Haibo Zhu
151c1d9ffd Fix the macro UPPER_CHECK conditions 2015-10-19 18:12:53 -07:00
sijchen
9befe7b1a3 Merge pull request #2173 from mstorsjo/remove-includes
Remove unused STL includes
2015-10-19 10:41:13 -07:00
Martin Storsjö
dac26cf923 Remove unused STL includes
This fixes building for Android, where libopenh264.so is intended
not to link to any particular STL implementation.
2015-10-19 11:21:29 +03:00
Haibo Zhu
9ba2c9825c (1) add protection for golomb GetUe output value
(2) change the max length of cabac bypass to 16
2015-10-18 20:12:34 -07:00
HaiboZhu
fb61733b27 Merge pull request #2163 from HaiboZhu/Remove_cabac_shift_exponent_too_large
Remove the shift exponent too large warning
2015-10-16 21:16:56 +08:00
HaiboZhu
ea52112d45 Merge pull request #2158 from sijchen/thp0a
[Common] basic thread pool functions
2015-10-16 16:50:39 +08:00
HaiboZhu
7cbc31a0bf Merge pull request #2161 from huili2/MMCO_overflow
prevent too many MMCO num overflow
2015-10-16 16:50:26 +08:00
Haibo Zhu
f1d92ef363 Remove the shift exponent too large warning 2015-10-16 01:13:23 -07:00
huili2
4bafe1c430 prevent too many MMCO num overflow 2015-10-16 10:36:13 +08:00
Sijia Chen
b29760ee31 remove unneeded parts 2015-10-15 11:31:34 -07:00
Sijia Chen
ade32f5c48 implementation for WelsSleep on WP8.0
https://rbcommons.com/s/OpenH264/r/1315/
2015-10-15 11:27:43 -07:00
Sijia Chen
a3f606e58a replacement of std::list for m_cBusyThreads
https://rbcommons.com/s/OpenH264/r/1320/
2015-10-15 11:17:29 -07:00
Sijia Chen
bc566f0923 put m_cIdleThreads to CWelsCircleQueue rather than std::map
https://rbcommons.com/s/OpenH264/r/1313/
2015-10-15 10:24:48 -07:00
Sijia Chen
eb00d5cb9e change std::list to internal implementation and add the new ut file for CWelsCircleQueue
https://rbcommons.com/s/OpenH264/r/1310/
2015-10-15 10:11:29 -07:00
Sijia Chen
757a596e97 add basic threadpool functions
https://rbcommons.com/s/OpenH264/r/1294/
2015-10-15 10:04:00 -07:00
Sijia Chen
6ca397e758 correct a typo along with the in-plan v1.5 release 2015-10-15 09:55:06 -07:00
Sijia Chen
9d25161f40 add version updates after 1.5 release 2015-10-15 09:54:10 -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
HaiboZhu
3067d127aa Merge pull request #2153 from mstorsjo/fix-warnings
Fix warnings when building for iOS with xcode
2015-10-13 18:26:56 +08:00
Martin Storsjö
8363d43588 Fix warnings when building for iOS with xcode 2015-10-13 12:27:11 +03:00
Martin Storsjö
5ff8af6883 Remove unused source files from the encoder 2015-10-13 12:21:34 +03:00
Martin Storsjö
837599becc Revert an accidental change that broke MSVC compilation
This reverts an unrelated part of e7e3b4f37f.

Since the function still is declared as taking an int32_t parameter
in the header, changing the function implementation makes it end
up as a different function.
2015-10-13 12:15:01 +03:00
HaiboZhu
6239fbe131 Merge pull request #2150 from huili2/log_memory_decrease
decrease log output for decoder momery info
2015-10-13 16:42:03 +08:00
HaiboZhu
df936ad73b Merge pull request #2131 from sijchen/fix_simul3
[Encoder] Add fix for simulcast for 3 spatial layers
2015-10-13 16:41:15 +08:00
huili2
042ac9aba1 decrease log output for decoder momery info 2015-10-12 10:53:33 +08:00
Haibo Zhu
e7e3b4f37f Init the string value and add protection for WelsStrcat() 2015-10-10 08:45:48 -07:00
sijchen
b37cda2482 Merge pull request #2138 from HaiboZhu/Bugfix_SPS_update_logic_under_EC
Fix a SPS update logic bug under EC mode
2015-10-08 10:11:32 -07:00
Haibo Zhu
4ffdca6b06 Fix the SPS update logic bug under EC mode 2015-10-08 02:01:15 -07:00
Haibo Zhu
2cd3fc805d Fix the 8x8 init bug under CAVCL when scalinglist enable 2015-10-07 19:49:37 -07:00
Sijia Chen
b86bd5f7f6 modify forceIDR log 2015-10-05 16:22:30 -07:00
Sijia Chen
f230c63777 add one more log statstics 2015-10-05 16:16:27 -07:00
Sijia Chen
82cc0535ae Add fix for simulcast if frame rate in the middle spatial layer is smaller 2015-09-30 17:26:50 -07:00
HaiboZhu
f9f2bbf805 Merge pull request #2127 from huili2/repos_DecoderConfigParam
move DecoderConfigParam into InitDecoder
2015-09-23 17:41:52 +08:00
huili2
ecab683f0f move DecoderConfigParam into InitDecoder 2015-09-23 14:37:53 +08:00
huili2
6efeb0ef95 Merge pull request #2124 from HaiboZhu/Bugfix_Duplicate_frame_num
Check the duplicate frame_num in short ref list
2015-09-22 15:45:22 +08:00
unknown
868c8e45a1 Check the duplicate frame_num in short ref list
Add more judgement for return value in WelsMarkAsRef()
2015-09-21 21:31:59 -07: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
HaiboZhu
d0d7ad57c2 Merge pull request #2116 from mstorsjo/remove-tab-indentation
Fix indentation to consistently use spaces instead of tabs
2015-09-16 09:12:07 +08:00
HaiboZhu
8994f1f757 Merge pull request #2115 from fstd/support_netbsd_2
Support NetBSD and OpenBSD; consolidate BSD build.
2015-09-16 09:07:08 +08:00
Martin Storsjö
c31e4e23f2 Fix indentation to consistently use spaces instead of tabs
Also get rid of other stray tabs in scripts.
2015-09-15 08:41:19 +03:00
Martin Storsjö
77bd41ca7e Fix building down_sample_neon.S with gnu binutils 2015-09-14 21:38:26 +03:00
fstd
4d063b84cc Build successfully on OpenBSD (which lacks sysctlbyname(3)) 2015-09-12 21:31:39 +02:00
Guangwei Wang
64657d3cfd add new c and assembly functions to optimize downsampler when downscale equal 1:3/1:4 2015-09-11 16:45:40 +08:00
Haibo Zhu
28d7d303e3 Bug fix with add DecoderConfigParam in ResetDecoder 2015-09-10 16:47:37 +08:00
karina li
2c830e64d7 exception case for width or height is less than 16 2015-09-08 17:21:56 +08:00
HaiboZhu
c48f47ab19 Merge pull request #2099 from nathankidd/master
Use stdbool.h with Visual Studio 2013 or higher
2015-09-06 09:51:44 +08:00
Nathan Kidd
fdabca4cc9 Only use CPU_COUNT if available
Fixes build error on Linux hosts with GLIBC < 2.6.

Resolves issue #2089
2015-09-02 18:24:24 -04:00
Nathan Kidd
f21fffda3b Use stdbool.h with Visual Studio 2013 or higher
2013 is the first version to include the header.

Avoids "codec_api.h(40): error C2632: 'char' followed by 'bool' is illegal"
when building C code.
2015-09-02 09:32:41 -04:00
HaiboZhu
fd7a02b557 Merge pull request #2096 from ruil2/rc0
use individual iDecompositionStages for each spatial layer
2015-09-02 10:10:02 +08:00
karina li
8c7ef9c1a7 use individual iDecompositionStages for each spatial layer 2015-09-01 16:46:59 +08:00
zhilwang
d1fc002430 Merge pull request #2091 from HaiboZhu/Bugfix_CheckRefPicturesComplete_FMO_enable
Fix the bug that calculate mbAddr error when FMO enable
2015-08-28 17:22:36 +08:00
Haibo Zhu
646f3e92de Fix the bug that calculate mbAddr error when FMO enable 2015-08-27 23:46:47 -07:00
huade
7b286bc637 replace LayerBsInfo with FrameBsInfo in thread-based private data structure 2015-08-27 17:24:48 +08:00
zhilwang
5d9b95288f Merge pull request #2083 from HaiboZhu/Bugfix_OutOfMemory_post_process
Force reset decoder when out of memory error
2015-08-26 16:14:32 +08:00
Haibo Zhu
27a9af0b09 Force reset decoder when out of memory error 2015-08-26 00:13:44 -07:00
Haibo Zhu
195dbdd5bd Add bParseOnly flag into Trace 2015-08-25 08:58:28 +08:00
Haibo Zhu
1173f879f1 Change the SParserBsInfo resolution to actual value 2015-08-24 14:37:32 +08:00
huade
47d6ac3b57 bug-fixed----left length of destination buffer for writing slice bs 2015-08-19 09:05:15 +08:00
HaiboZhu
bf33bde15d Merge pull request #2075 from sijchen/fix_abnormal_tid
[Encoder] change the solution when invalid tid is found
2015-08-17 16:38:54 +08:00
karina li
d569a0276b convert maxqp and minqp to encoder 2015-08-17 13:19:20 +08:00
Sijia Chen
82e7dcd84f change the solution when invalid tid is found 2015-08-14 17:01:19 -07:00
Haibo Zhu
5ebb64cc45 Add MAX_DPB_COUNT equals to MAX_REF_PIC_COUNT + 1 to set the size of RefList
Make the reorder search range sync with JM
2015-08-13 23:54:47 -07:00
Sijia Chen
97351a5cdf fix the range of writable cfg to avoid problem 2015-08-13 16:01:49 -07:00
Haibo Zhu
68d9bc230d Add default when iCurTId invalid 2015-08-13 01:11:30 -07:00
HaiboZhu
2273624a6a Merge pull request #2070 from HaiboZhu/Bugfix_Emulation_prevention_three_byte
Add protection about emulation_prevention_three_byte error bytes
2015-08-11 22:52:28 +08:00
Haibo Zhu
e90068c234 Add protection about emulation_prevention_three_byte error bytes 2015-08-11 12:56:09 +08:00
huili2
c45e08a984 prevent error RPLR number overflow case 2015-08-11 09:45:09 +08:00
huili2
6ba10ce6f3 Merge pull request #2065 from HaiboZhu/Bugfix_RPLR_logic
Fix the RPLR logic error when picNumLX <= refIdxLX
2015-08-07 17:30:08 +08:00
huili2
be2b7f196f Merge pull request #2063 from HaiboZhu/Add_EC_memcpy_protection
Add protection for memcpy overlap
2015-08-05 11:09:06 +08:00
huili2
6ab697ef78 Merge pull request #2060 from HaiboZhu/Bugfix_default_value_chroma_array_type
Add default value for ChromaArrayType to avoid NO value
2015-08-05 11:08:41 +08:00
Haibo Zhu
6b4912c716 Add protection for memcpy overlap 2015-08-05 09:23:32 +08:00
Haibo Zhu
930161c6cc Fix the RPLR logic error when picNumLX <= refIdxLX 2015-08-04 14:04:48 +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
Haibo Zhu
e621610776 Add default value for ChromaArrayType to avoid NO value 2015-08-04 11:11:06 +08:00
Haibo Zhu
bc8dfcd1f4 Fix the pps update logic error 2015-07-28 01:59:26 -07:00
huili2
0400792778 add slice_type check for num_ref_frame 2015-07-27 10:53:51 +08:00
karina li
ab370cd607 refine RC parameters 2015-07-24 09:07:55 +08:00
huili2
091805b883 bugfix for T1 error decoder dealing 2015-07-23 11:04:23 +08:00
Martin Storsjö
9319301621 Avoid warnings about comparison between signed and unsigned 2015-07-18 16:31:36 +03:00
huili2
2c7857ab53 Merge pull request #2038 from HaiboZhu/Bugfix_disable_redundant_picture
[Decoder bug fix] Disable redundant picture to avoid the memory overflow
2015-07-17 10:46:03 +08:00
huili2
4ecdd071ff Merge pull request #2035 from HaiboZhu/Bugfix_width_height_level_limit_check
Fix the bug that decoder not return when level limit occur
2015-07-17 10:45:03 +08:00
huili2
a0c9f02bde Merge pull request #2034 from HaiboZhu/BugFix_CheckAccessUnitBoundaryExt
Fix logic errors in CheckAccessUnitBoundaryExt
2015-07-17 10:44:50 +08:00
huili2
c0feee817d Merge pull request #2032 from GuangweiWang/sub8x8asm
add new assembly functions to support sub8x8 mode
2015-07-16 13:33:04 +08:00
huili2
24d8b8a82c Merge pull request #2033 from HaiboZhu/Bugfix_FMO_judgement_error
Fix max slice group number judgement error in FMO
2015-07-16 13:32:29 +08: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
Haibo Zhu
11c7bfa098 Disable redundant picture to avoid the memory overflow 2015-07-16 11:20:21 +08:00
Haibo Zhu
d48b8b49d0 Fix the bug that decoder not return when level limit occur 2015-07-14 15:58:45 +08:00
Haibo Zhu
663bd94038 Fix max slice group number judgement error in FMO 2015-07-14 15:45:40 +08:00
Haibo Zhu
70d08736dd Fix logic errors in CheckAccessUnitBoundaryExt 2015-07-14 15:38:16 +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
Guangwei Wang
1f8ef8f0a3 Add new x86 assembly functions to support sub8x8 mode 2015-07-10 09:00:05 +08:00
sijchen
95ad76f65d Merge pull request #2024 from huili2/submbtype_modif
modify sub_mb_type, and fix a function name typo
2015-07-09 12:37:57 +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
Guangwei Wang
49b569a018 Add new ARM AArch64 assembly functions to support sub8x8 mode 2015-07-08 10:34:49 +08:00
Sijia Chen
ee09f4d7bf let qp clip to min/max qp available in all rc settings, so as to avoid qp exceed 51 2015-07-07 17:49:11 +08:00
Guangwei Wang
9f0d51d8d2 add new AArch32 asm functions to support sub8x8 mode 2015-07-07 10:13:56 +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
Ethan Hugg
d04c7b9347 Merge pull request #2020 from brion/emscripten
Allow compilation to JavaScript via emscripten
2015-07-04 11:30:28 -07:00
Brion Vibber
522639f768 Allow compilation to JavaScript via emscripten
Currently the emscripten JavaScript environment for C/C++ programs
cannot do multithreading, and doesn't have a sysctl implementation
to get hardware CPU count. Hardcode to 1.

Using the Linux OS settings works, so not adding a platform file.

To build with emscripten (tested 1.30.0):

  emmake make OS=emscripten ARCH=asmjs

The resulting libopenh264.so is LLVM bitcode which can be further
linked into an emscripten project for final JavaScript output.
2015-07-03 03:15:40 -07:00
sijchen
507ffbadb6 Merge pull request #2022 from sijchen/fix_slc
[Encoder] fix a first-mb judgement
2015-07-03 12:25:40 +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
Sijia Chen
f265ab8e85 fix a first-mb judgement and enablings a test 2015-07-02 15:59:02 +08:00
sijchen
bee0d7d230 Merge pull request #2015 from huili2/sub8_final
add sub8x8 mode decision functions
2015-07-02 15:52:36 +08:00
huili2
57bd721b2f add sub8x8 mode decision functions 2015-06-30 10:29:49 +08:00
Sijia Chen
dfcc78eaf5 refactor for future simplification 2015-06-29 09:31:08 +08:00
sijchen
82a0d3e4a2 Merge pull request #2010 from sijchen/mt2
[Encoder] correct the termination of error handling under multi-thread
2015-06-29 09:13:22 +08:00
sijchen
0f1371e461 Merge pull request #2004 from sijchen/ps55
[Encoder] first version of post-frame skipping for rate control (not enabled)
2015-06-26 17:42:08 +08:00
sijchen
d0a1b58374 Merge pull request #2003 from sijchen/rc_trace2
[Encoder] improve statistics logs
2015-06-26 17:41:55 +08:00
Sijia Chen
2a15a7975f correct the termination of error handling under multi-thread 2015-06-26 17:40:49 +08:00
karina li
c51975acdf use the external qp setting for screen content 2015-06-26 12:35:21 +08:00
Sijia Chen
99aaf3198c first version of post-frame skipping for rate control (not enabled) 2015-06-23 17:04:02 +08:00
Sijia Chen
fe965a2444 improve statistics logs 2015-06-23 17:01:30 +08:00
sijchen
93af25eaef Merge pull request #1993 from huili2/dec_mem_stat
add dec memory check
2015-06-19 13:37:41 +08:00
huili2
2ca6af54b9 Merge pull request #1995 from sijchen/ps22
[Encoder] make two un-error ending of encoding go to a same exit and save the d…
2015-06-19 08:44:55 +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
huili2
443630b098 Merge pull request #1992 from sijchen/ps11
[Encoder] Refactoring: move the post-encoding exchanging in preprocessing to more reasonable function
2015-06-18 08:33:19 +08:00
sijchen
e9429e2f93 Merge pull request #1988 from sijchen/ps4
add a frame-skip setting option
2015-06-17 17:35:03 +08:00
sijchen
bf44265c2c Merge pull request #1989 from sijchen/memc
[Encoder] Amendments with MEMORY_CHECK on
2015-06-17 17:34:57 +08:00
Sijia Chen
ee4dafaa70 remove the core-1 setting for multi-thread, if application has concern of using all thread, it can be done by setting specific value to iMultipleThreadIdc 2015-06-16 17:05:48 +08:00
huili2
3cb417f14a add dec memory check 2015-06-16 14:17:12 +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
Martin Storsjö
22cb778730 Fix the NEON register restoring in McHorVer30WidthEq8_AArch64_neon
This function pushes 16 bytes to the stack, but popped off 32
bytes.

This fixes a regression since 6f64f2372.
2015-06-11 21:30:40 +03:00
Sijia Chen
71d0a7f71f fix macro 2015-06-11 15:45:26 +08:00
Sijia Chen
89d5ad249f add byte info in free 2015-06-11 15:29:19 +08:00
Sijia Chen
4fb4c9536f remove build error if MEMORY_CHECK is on 2015-06-11 15:21:58 +08:00
Sijia Chen
dea37ce439 add a frame-skip setting option 2015-06-11 12:35:03 +08:00
sijchen
52cd5d99ab Merge pull request #1979 from GuangweiWang/lumaMc
modify part of AArch64 LumaMc assembly functions to get improvement
2015-06-10 15:58:38 +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
Martin Storsjö
51efa57a3d Convert tabs to spaces in vertically aligned code 2015-06-10 10:21:29 +03:00
Martin Storsjö
723044837a Convert tabs to spaces in defines 2015-06-10 10:21:25 +03:00