lyao2
3904c025cb
add debug info for RC max bitrate control test
2014-09-29 15:41:03 +08:00
Sijia Chen
6673a5f71e
1, fix a value in preprocess to avoid warning in UT
...
2, refactor to wrap the operation to m_pSpatialPic into WelsPreprocess
2014-09-28 13:12:16 +08:00
Sijia Chen
cf2cf9efd9
add basic strategy for lossy+no LTR route
2014-09-26 16:40:19 +08:00
zhiliang wang
19c02bdfa8
Fix crash issue due to commit 8945348
.
2014-09-26 11:16:13 +08:00
ruil2
bab0bf18f8
Merge pull request #1387 from dongzha/MoveDoubleInSCCRC
...
remove double in SCC rc
2014-09-25 16:53:46 +08:00
huili2
8945348c87
Merge pull request #1385 from ruil2/function
...
enable ARM assembly for SampleSad16x16
2014-09-25 15:04:46 +08:00
ruil2
ed341048de
refine common moudle for part of intra prediction function
2014-09-25 14:03:11 +08:00
ruil2
bef3d87f34
Merge pull request #1384 from sijchen/add_para21
...
[Encoder] Add a new reading para
2014-09-25 12:45:38 +08:00
dong zhang
9f20c727d1
remove double in SCC rc
2014-09-25 11:09:35 +08:00
sijchen
d0f9b218f4
Merge pull request #1383 from ruil2/rc_refine
...
refine scc rc
2014-09-24 16:31:49 +08:00
ruil2
ffebbdb9b2
enable ARM assembly for SampleSad16x16
2014-09-24 15:59:36 +08:00
ruil2
4e57a46ca5
Merge pull request #1382 from huili2/dataformat_bugfix
...
add protection for decoder and data format
2014-09-24 13:47:02 +08:00
ruil2
c618cb1eaf
refine scc rc
2014-09-24 09:54:01 +08:00
huili2
a3bdf4ffc9
Merge pull request #1378 from sijchen/ref_refac22
...
[Encoder] Refactor a function for further strategy adjustment
2014-09-24 08:59:02 +08:00
Sijia Chen
147c9052b8
add reading of the new option
2014-09-23 18:04:24 +08:00
huili2
f8d2ae42ef
add protection for decoder and data format
2014-09-23 00:29:23 -07:00
HaiboZhu
06e56ecdd8
Merge pull request #1380 from huili2/ec_option_free
...
add freely setoption for EC_idc and UT
2014-09-22 15:51:19 +08:00
huili2
f6fb459a7f
add freely setoption for EC_idc and UT
2014-09-21 21:51:48 -07:00
sijchen
fd8db0451e
Merge pull request #1377 from ruil2/scc_rc_1
...
add scc rate control
2014-09-19 17:08:48 +08:00
Sijia Chen
ee2f87dbbc
refactor a function for further strategy adjustment
2014-09-19 16:17:04 +08:00
ruil2
17df23c2eb
Merge pull request #1375 from sijchen/ref_refac11
...
[Encoder] Use function pointer for pEndofUpdateRefList
2014-09-19 16:01:14 +08:00
ruil2
66e38cc9ed
add scc rate control
2014-09-19 15:56:49 +08:00
Sijia Chen
c480ffdad5
use function pointer as refactoring for further strategy adjustment
2014-09-19 14:48:45 +08:00
Sijia Chen
84ca659f06
add parameter and one case in UT
2014-09-19 14:46:02 +08:00
huili2
f5b9d920ff
Merge pull request #1369 from ruil2/console
...
set timestamp for each input frame to preparing for scc rate control
2014-09-18 14:46:28 +08:00
sijchen
64fa8a6b60
Merge pull request #1371 from ruil2/win_project
...
update interface definition
2014-09-18 14:38:58 +08:00
ruil2
ac2de4cbab
Merge pull request #1370 from dongzha/addAPIUTTid
...
Add Tid/Trace API UT and Fix a bug when set NULL trace
2014-09-18 14:29:26 +08:00
ruil2
3ba0a9956a
update interface definition
2014-09-18 14:20:16 +08:00
huili2
c4a446b43a
Merge pull request #1367 from ruil2/rename
...
rename namespace and funciton name to avoid conflicts with old library
2014-09-18 13:23:27 +08:00
ruil2
880bf2d621
set timestamp for each input frame to preparing for scc rate control
2014-09-18 12:12:15 +08:00
Sijia Chen
7e71714863
add a missed line in last commit
2014-09-17 18:13:43 +08:00
Sijia Chen
05684744c9
remove duplicate constant macro and modify the num_ref check accordingly
2014-09-17 18:10:27 +08:00
ruil2
3ff145e839
rename namespace and funciton name to avoid conflicts with old library
2014-09-17 15:50:59 +08:00
ruil2
25b723c413
Merge pull request #1366 from lyao2/refine_frameskip2
...
fix skipframe count error
2014-09-17 15:19:40 +08:00
lyao2
ca96def4ff
fix skipframe count error
2014-09-17 14:26:05 +08:00
dongzha
c213c6ba30
1. add Tid API UT
...
2. add Trace UT
3. Fix a crash issue when set NULL trace
2014-09-17 09:26:54 +08:00
dongzha
8538b22f23
Merge pull request #1359 from mstorsjo/cleanup-simplification
...
Simplify code by getting rid of unnecesary SafeDelete/SafeFree macros
2014-09-17 08:49:24 +08:00
dongzha
399ca33284
Merge pull request #1356 from ruil2/memory
...
refine memory tag in order to trace issues related memory
2014-09-17 08:46:02 +08:00
Martin Storsjö
9d9c609aab
Remove some now unused macros
2014-09-16 11:53:19 +03:00
Martin Storsjö
958113073f
Simplify code by calling WelsFree directly instead of using a helper function
...
This makes the code simpler and clearer. It's not necessary to use the
_SafeFree helper macro in neither of the case - in one case the
pointer is overwritten immediately, in the other case it's witihin
the destructor where the pointer won't ever be read again.
2014-09-16 11:53:19 +03:00
Martin Storsjö
37ae6505d4
Use delete instead of the _SafeDelete macro
...
Since this is the destructor of the class, the member variables
won't be read afterwards, and setting the pointers to NULL afterwards
is redundant.
2014-09-16 11:53:19 +03:00
Martin Storsjö
c5091e73be
Remove unnecesary use of _SafeDelete
...
It is not necessary to check whether a pointer is NULL before
deleting it, "delete NULL" is explicitly ok.
The deleted pointer is a local variable here, so setting it to
NULL after deleting isn't necessary in these cases either.
2014-09-16 11:53:19 +03:00
Martin Storsjö
8eafdfa598
Remove an unused macro
2014-09-16 11:52:06 +03:00
dongzha
f8d5f93b16
Merge pull request #1355 from syureyi/clean
...
Clean
2014-09-16 09:58:27 +08:00
ruil2
b85a09163f
refine memory tag in order to trace issues related memory
2014-09-16 09:49:44 +08:00
lyao2
72862118f9
Fix bug RC_QUALITY_MODE not works as expected
2014-09-15 15:31:20 +08:00
lyao2
631ca210a8
Fix bug RC_QUALITY_MODE not works as expected
2014-09-15 13:21:29 +08:00
huili2
4001551027
Merge pull request #1349 from dongzha/AddAPIUTEncoder_Decoder
...
add encoder/decoder api test for LTR and EC flag
2014-09-15 09:15:08 +08:00
lyao2
522aa4457a
enlarge QP range when skipframeflag off on BitRate mode
2014-09-12 14:45:08 +08:00
dongzha
311f7006fd
1. add encoder-engine-decoder API UT for: IDR request, LTR request
...
2. add decoder api UT for EC: Disable/Enable EC
3. Fix a decoder bug when EC is disabled
itoltalMbDec should be set to zero when encouter a new sequence/picture, even when EC is disabled.
2014-09-12 11:12:59 +08:00
zhuiling
0fe477625c
improve py, and change mk according to mk
2014-09-12 10:25:46 +08:00
ruil2
c6a136c742
using default value for LTR.
2014-09-11 10:32:46 +08:00
ruil2
1a394d1432
Merge pull request #1343 from huili2/ec_disable_set
...
disable EC SetOption
2014-09-10 15:15:49 +08:00
huili2
84848bb7d3
disable EC SetOption
2014-09-09 20:12:01 -07:00
ruil2
bb43c1c9a9
update spatial picture when abnormal exit
2014-09-10 09:45:32 +08:00
ruil2
f003fa1fe6
Merge pull request #1341 from sijchen/enable_ltr01
...
[Encoder] fix a LTR range problem when LTR num is larger than 2
2014-09-10 08:51:44 +08:00
Sijia Chen
6f553c9742
remove unused lines
2014-09-09 15:09:07 +08:00
Sijia Chen
79157ce632
fix a LTR range problem when LTR num is larger than 2
2014-09-09 15:05:57 +08:00
Sijia Chen
a6df69c305
remove unsupported lines in cfg to avoid misleading
2014-09-09 14:20:27 +08:00
dongzha
ef590de0dc
Merge pull request #1335 from lyao2/fixppsbug
...
fix pps caused death loop issue
2014-09-05 14:18:16 +08:00
huili2
684c42536d
Merge pull request #1330 from ruil2/delivery_status
...
modify delivery status interface
2014-09-05 13:32:52 +08:00
lyao2
881667a533
fix pps caused death loop issue
2014-09-05 13:28:13 +08:00
ruil2
4fc144b698
Merge pull request #1333 from huili2/print_ver_master
...
modify version info in enc/dec
2014-09-05 13:23:49 +08:00
huili2
1b1ea2b9ef
modify version info in enc/dec
2014-09-04 21:55:06 -07:00
ruil2
d63172db9b
Merge pull request #1331 from sijchen/add_setoption
...
[Encoder] add setoption of 'isLosslessLink' for further strategy tuning
2014-09-05 12:49:25 +08:00
ruil2
2f041c7a4b
modify delivery status interface
2014-09-05 10:57:51 +08:00
huili2
43dc6f01e1
Merge pull request #1322 from ruil2/MinCr_waring
...
add MinCr checking and output warings if the MinCr isn't met
2014-09-05 09:39:56 +08:00
sijchen
61926f208c
add a setoption for further setting
2014-09-04 14:24:14 +08:00
lyao2
f2437f24b9
fix bug that iMaxSpatialBitrate is not correct assigned
2014-09-03 17:40:19 +08:00
huili2
c287a9109f
Merge pull request #1324 from ruil2/ltr_check_update
...
add UT for LTR setopton and fix crash issue
2014-09-03 15:51:23 +08:00
dongzha
315d9315c4
Merge pull request #1325 from huili2/ps_ne_deal_v1.1.1
...
when sps/pps non exist, return dsNoParamSets
2014-09-03 13:56:30 +08:00
ruil2
7e8cde055f
add UT for LTR setopton and fix crash issue
2014-09-03 13:28:14 +08:00
huili2
0227f87b7a
when sps/pps non exist, return dsNoParamSets
2014-09-02 22:22:18 -07:00
ruil2
4ece8efaed
add MinCr checking and output warings if the MinCr isn't met
2014-09-03 10:41:54 +08:00
ruil2
b5a01efa96
avoid LTR reference frames overflow
2014-09-02 10:23:03 +08:00
ruil2
d4eff959ed
fix auto threadIdc issue
2014-08-29 13:57:08 +08:00
ruil2
3ff6bf8ac1
Merge pull request #1315 from dongzha/RemoveIntraPeriod
...
Fix following IntraPeriod set issue
2014-08-28 17:09:10 +08:00
dong zhang
0187c84f29
Fix following IntraPeriod set issue
...
1. In WelsInitSps function, if kuiIntraPeriod is huge, uiLog2MaxFrameNum might be bigger than 15, which may introduce illegal H264 bitstream.
2. if pSvcParm.uiIntraPeriod is not zero (e.g. 14) at the initial, it will init sps.iLog2MaxPocLsb. to 5.
But if I changed pSvcParm.uiIntraPeriod to 40, sps.iLog2MaxPocLsb. is still 5, need to recalcuted this parameter.
(Same with uiLog2MaxFrameNum.)
2014-08-28 16:35:23 +08:00
huili2
2361f7543b
Merge pull request #1314 from ruil2/add_trace
...
update trace output
2014-08-28 15:59:56 +08:00
ruil2
cafb91a66a
remove redundent lines
2014-08-28 11:24:28 +08:00
ruil2
cebf586c3a
update trace output
2014-08-28 11:04:25 +08:00
dongzha
67b5a79c2e
Merge pull request #1313 from huili2/SDP_support
...
add decoder capability info
2014-08-28 10:47:12 +08:00
huili2
0b23d0facb
add decoder capability info
2014-08-27 17:48:58 -07:00
dongzha
9b97138786
Merge pull request #1310 from ruil2/trace_update_1
...
add warning trace
2014-08-27 17:35:14 +08:00
ruil2
8935bfaa91
Merge pull request #1308 from dongzha/ModifyEncOutput
...
add crop output for encoder
2014-08-27 17:04:49 +08:00
ruil2
770400103f
add warning trace
2014-08-27 17:01:23 +08:00
dong zhang
6d4a628331
add crop output for encoder
2014-08-27 15:44:49 +08:00
ruil2
40e952f981
remove "\n" which shoudl be added by the trace sink
2014-08-27 14:34:05 +08:00
ruil2
9b5902b94a
update the number of reference when ltr changes
2014-08-27 12:19:59 +08:00
ruil2
ac7fac9644
get mv and mvd from level limitation
2014-08-26 16:30:57 +08:00
lyao2
0c32465aac
fix pps assert issue when enable bEnableSpsPpsIdAddition
2014-08-26 13:31:14 +08:00
dongzha
863dc78c25
Merge pull request #1301 from ruil2/ltr_check_1
...
add more LTR parameters
2014-08-26 12:22:27 +08:00
ruil2
d6f0dee0c4
add more LTR parameters
2014-08-26 11:06:30 +08:00
Karina
ddbd41cbc5
remove unused variables
2014-08-26 09:13:20 +08:00
Karina
11c9f2037d
format update
2014-08-25 15:31:36 +08:00
Karina
a19974d009
fix crash on mvd cost calculation
2014-08-25 13:30:45 +08:00
ruil2
441dc45e69
add mv range limitation and related ut
2014-08-25 09:53:49 +08:00
HaiboZhu
dddb825bbd
Merge pull request #1288 from lyao2/threadIDC
...
fix Loop filter error under multithreads on encoder when #TEST_BED enabled
2014-08-22 11:00:07 +08:00
lyao2
6047ff930e
fix deblockIDC and mutithread logic error
2014-08-22 09:19:14 +08:00
zhiliang wang
e6f838e331
Add arm UT for Sad,IntraSad,IntraPred.
2014-08-21 15:36:57 +08:00
zhiliang wang
e3d8524c82
Refine EncDemo.
2014-08-21 09:10:49 +08:00
lyao2
47f1ac7307
fix Loop filter error under multithreads on encoder when #TEST_BED enabled
2014-08-20 11:54:07 +08:00
dongzha
3596b6ced0
avoid encoder crash with random pixel input
2014-08-19 15:36:27 +08:00
Martin Storsjö
81ac3d2a9b
Fix building svc_motion_estimation.S for android
...
The .align directive takes an argument in number of bits, i.e. the
actual alignment is 2^n. Previously building with binutils failed,
since 16 isn't a valid parameter to .align, the maximum is 15.
Thus, this makes the code try to align to 16 bytes, instead of aligning
to 65536 bytes.
This fixes building for android.
This also clears up the same mistake in the aarch64 code, even though
that one built just fine.
2014-08-15 09:53:42 +03:00
dongzha
464244ccbe
Merge pull request #1280 from mstorsjo/arm-common-ifdefs
...
Add ifdef HAVE_NEON around the contents of arm_arch_common_macro.S
2014-08-15 14:19:14 +08:00
HaiboZhu
955d27b3a2
Merge pull request #1278 from syureyi/perf
...
improve perf
2014-08-15 14:18:01 +08:00
Martin Storsjö
f69c9074e7
Add ifdef HAVE_NEON around the contents of arm_arch_common_macro.S
...
This file is built on its own from within the xcode projects,
even though it isn't necessary. Previously its contents was just
empty, but now a .syntax unified was added, which failed the build
when building for arm64.
Make this file a no-op, just like the other arm assembly source files,
unless HAVE_NEON is defined.
2014-08-15 08:49:31 +03:00
HFVideoMac
0f95fac4ca
add arm32/64 code for InitHash
2014-08-15 13:47:59 +08:00
dongzha
87107c50a3
Merge pull request #1275 from zhilwang/x86_hash_scc
...
Add x86 32/64bit asm code and UT for SCC hash functions
2014-08-15 10:12:18 +08:00
zhiliang wang
ef88889404
refine format and add UT cases
2014-08-15 09:22:37 +08:00
zhilwang
711f5cabe7
Merge pull request #1273 from dongzha/RefineArmCodeForSumBlock
...
refine arm code for sum of frame
2014-08-15 09:02:15 +08:00
zhiliang wang
76863f977a
Refine asm code format
2014-08-15 08:46:55 +08:00
zhiliang wang
b35f5797de
Add x86 32/64bit asm code for Scc_hash
2014-08-14 18:41:52 +08:00
HaiboZhu
1e34a61dd6
Merge pull request #1269 from huili2/enc_console_help
...
correct enc console help info
2014-08-14 17:07:16 +08:00
HFVideoMac
e14186b535
refine arm code for sum of frame
2014-08-14 14:41:07 +08:00
zhiliang wang
dc833e19f4
Add function define and init for SCC hash function
2014-08-14 14:20:07 +08:00
huili2
e346bc5263
correct enc console help info
2014-08-12 23:25:27 -07:00
zhiliang wang
f2314151e8
Add x86 32/64bit asm code for SumOfBlocks.
2014-08-13 11:18:39 +08:00
syureyi
2ac973474a
improve perf
2014-08-12 14:29:39 +08:00
ruil2
493d254a4a
merge level table
2014-08-12 09:28:40 +08:00
ruil2
f7cd6e7aad
use WelsEnc namespace instead of WelsSVCEnc
2014-08-11 16:08:49 +08:00
ruil2
febb3ebb9b
fix an errors that for single slice mode, the number of slices should be 1
2014-08-11 13:58:33 +08:00
ruil2
5948e8af3f
Merge pull request #1259 from mstorsjo/fix-singlecpu-tests
...
Remove a needless, no-op change of the number of threads
2014-08-11 13:31:57 +08:00
Martin Storsjö
2f6a986d7c
Remove a needless, no-op change of the number of threads
...
If kiCpuCores < 2, then iCountThreadsNum (and iMultipleThreadIdc)
can't be >= 2, because they're initialized with
WELS_MIN (kiCpuCores, ...) just a few lines above.
If iMultipleThreadIdc is initially set to 0 by the caller, this
removed piece of code would change it to 1, if kiCpuCores < 2.
When iMultipleThreadIdc is changed from the originally set value,
a call to WelsEncoderParamAdjust with the original parameters
would reset the whole codec since iMultipleThreadIdc differs.
This fixes running EncoderInterfaceTest.TemporalLayerSettingTest
on machines where the detected number of cores is 1.
2014-08-08 22:26:59 +03:00
Martin Storsjö
38d2d64ede
Explicitly add .syntax unified when building for iOS
...
This is the default when building with the clang built-in assembler,
but not if using the external assembler - thus always specify it,
for clarity.
Also use the three-operand for of a sub instruction in BS_NZC_CHECK.
The same is already done in the gnu version of the macro.
This fixes building most of the arm assembly with Apple's external
assembler. While this isn't a necessary goal in itself, there's no
harm in doing this either.
2014-08-08 14:09:37 +03:00
huili2
dacd22d695
Merge pull request #1254 from mstorsjo/alias-attribute
...
Add attributes incidating intentional data type aliasing, fix GetIntraPredictorTest on android
2014-08-08 17:36:07 +08:00
ruil2
af417b5ae4
re-allocate resource when threadIDC changes
2014-08-08 16:43:38 +08:00
Martin Storsjö
5f0ef6a5a9
Add attributes incidating intentional data type aliasing
...
Interpreting data of one type via a pointer of a different type is an
aliasing violating. This means that a compiler optimizer's analyzer
can assume that data loaded into an array as uint32_t isn't related
to data read out from the same array as uint64_t, and e.g. reorder
loads/stores.
Since these structs are intentionally used to load data via pointers
of a wrong size, tell the compiler that these accesses may alias
other reads.
This fixes the GetIntraPredictorTest tests of WelsI4x4LumaPredV_c
and WelsI4x4LumaPredH_c. (The compiler optimizer did the wrong thing
as long as WelsFillingPred8to16_c or WelsFillingPred8x2to16_c were
inlined into the calling function.)
2014-08-08 11:34:45 +03:00
HFVideoMac
84f33aa8e4
Disable failed UT and Fix Build Error onAndroid
2014-08-08 10:53:23 +08:00
HFVideoMac
cff49f5e45
add arm 32/64 code and UT for SVC SCC motion estimation
2014-08-06 17:24:36 +08:00
huili2
3aec3a2606
Merge pull request #1245 from zhilwang/processing_sad
...
Add sad arm64 code to processing.
2014-08-06 09:31:22 +08:00
huili2
0dd0b06287
Merge pull request #1243 from ruil2/comment
...
add parameter verification
2014-08-05 14:58:01 +08:00
zhiliang wang
3139fe7a88
Add sad arm64 code to processing.
2014-08-05 11:23:38 +08:00
ruil2
5356249100
if dynamic slice mode, this limitation should be removed
2014-08-01 16:10:11 +08:00
ruil2
059e19074a
add parameter verification
2014-08-01 12:39:29 +08:00
ruil2
11f0a11177
Merge pull request #1242 from huili2/test_dataformat
...
setget_dataformat_ut
2014-08-01 12:27:38 +08:00
HaiboZhu
aa41dc43bd
Merge pull request #1241 from ruil2/comment
...
fix typo
2014-07-31 16:52:04 +08:00
ruil2
2ec91a0bbe
fix typo
2014-07-31 15:14:10 +08:00
ruil2
f68b0811f0
update recontruct frame output
2014-07-31 15:10:12 +08:00
Martin Storsjö
8c663ffe66
Use the common stdint typedefs in processing as well
...
This fixes building test/processing/ProcessUT_AdaptiveQuantization.cpp
with MSVC.
2014-07-30 13:53:54 +03:00
huili2
e8fdd4cf75
setget_dataformat_ut
2014-07-28 18:41:58 -07:00
ruil2
eff4b3ae4d
add a judgment
2014-07-29 09:37:14 +08:00
Martin Storsjö
ae62909aab
Unify the indentation in the new aarch64 assembly files
2014-07-28 09:23:36 +03:00
Martin Storsjö
3240a14baa
Add a missing .endm in the gnu version of macros
2014-07-28 09:01:24 +03:00
Martin Storsjö
79276c38dd
Clear the executable bit for new arm64 assembly source files
2014-07-28 08:29:01 +03:00
HaiboZhu
39d490b23d
Merge pull request #1224 from huili2/ec_flag_modif
...
modify EC API name and remove useless flag
2014-07-28 13:06:23 +08:00
huili2
933c477717
modify EC API name and remove useless flag
2014-07-27 21:35:26 -07:00
huili2
8e2d92e5c9
Merge pull request #1218 from zhilwang/arm64_vaa
...
Arm64 vaa
2014-07-28 09:30:16 +08:00
ruil2
e58de20f3a
add encoder interface ut
2014-07-25 16:40:14 +08:00
zhilwang
b1a76aa936
Merge pull request #1215 from mstorsjo/x86-asm-noexec-stack
...
Mark the x86 assembly object files as not requiring an executable stack
2014-07-25 14:15:17 +08:00