Commit Graph

2604 Commits

Author SHA1 Message Date
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
Martin Storsjö
43767cddb6 Remove tabs from commented out code 2015-06-10 10:21:21 +03:00
Martin Storsjö
e1840a0ed6 Change indentation to use tabs instead of spaces in a few test project files 2015-06-10 10:21:19 +03:00
Martin Storsjö
8796e40f89 Run astyle on a newly added function
This function previously used tabs for indentation.
2015-06-10 10:21:15 +03:00
Martin Storsjö
c2b79fa51d Convert tabs to spaces within comments 2015-06-10 10:21:13 +03:00
Sijia Chen
2ff38e9175 make two un-error ending of encoding go to a same exit and save the duplicated calling of UpdateSpatialPictures and ForceCodingIDR 2015-06-10 11:28:23 +08:00
Sijia Chen
84b441d4e4 move the post-encoding exchanging in preprocessing to more reasonable function 2015-06-10 10:49:39 +08:00
Guangwei Wang
6f64f2372e save neon register d8,d9 2015-06-09 11:06:15 +08:00
Guangwei Wang
0237194f6e bugfix:save neon register v8-v15 2015-06-09 10:19:09 +08:00
Haibo Zhu
682b0b7335 Bug fix about mosaic on T30 which caused by prev frame num update 2015-06-08 01:10:12 -07:00
karina li
f2d391980e use the external setting for max_qp and min_qp 2015-06-08 00:44:42 +08:00
sijchen
b2c08598bc Merge pull request #1978 from sijchen/doc
improve comments of the API
2015-06-08 12:07:03 +08:00
sijchen
70de76a253 Merge pull request #1975 from sijchen/rc_tr
[Encoder] Improve rate control trace
2015-06-08 12:06:36 +08:00
Guangwei Wang
c930424642 modify part of AArch64 LumaMc assembly functions to get improvement 2015-06-05 13:26:00 +08:00
Sijia Chen
8ca76ec342 improve comments of the API 2015-06-04 15:06:46 +08:00
Martin Storsjö
ebbcb67fb7 Convert tabs to spaces in assignment of SIMD function pointers 2015-06-03 15:39:30 +03:00
Martin Storsjö
26c1ce2d05 Remove tabs from class constructor member initializer lists 2015-06-03 15:39:30 +03:00
Martin Storsjö
c618b44b9e Remove tabs from the end of lines like ") {" 2015-06-03 15:39:30 +03:00
Martin Storsjö
c134aa753a Remove unnecessary/pointless/accidental tabs from the middle of lines of code 2015-06-03 15:39:30 +03:00
Martin Storsjö
b052a9580e Convert tabs to spaces in code that looks like tables
Also fix the alignment in some related cases, even though they
didn't use tabs originally.
2015-06-03 13:26:36 +03:00
Sijia Chen
a9d0d90ed2 correct a typo in rc log 2015-06-03 14:31:00 +08:00
Sijia Chen
ece17ff1b4 add layer info in RC detail trace 2015-06-03 14:13:21 +08:00
huili2
f76325edc7 Merge pull request #1973 from huili2/sub8
modify some functions extending to sub8x8 usage, especially in ME part
2015-06-02 14:44:06 +08:00
huili2
87f22d35fb Merge pull request #1972 from GuangweiWang/mc
change aarch64 chroma mc function
2015-06-02 14:42:50 +08:00
huili2
c3cfce5223 modify some functions extending to sub8x8 usage, especially in ME part 2015-06-02 13:39:38 +08:00
sijchen
b0a822dd30 Merge pull request #1971 from mstorsjo/version-header-spacing
Regenerate codec_ver.h using generate_codec_ver.sh
2015-06-01 16:23:18 +08:00
sijchen
b55292413b Merge pull request #1969 from BelledonneCommunications/bc-out-of-tree-build
fixes for out-of-tree build
2015-06-01 16:20:08 +08:00
Martin Storsjö
87eabf2721 Regenerate codec_ver.h using generate_codec_ver.sh
This adds some spacing to the version struct, so that astyle won't
need to change the file.

This was changed in 02354832cf, both in the earlier codec_ver.h
and in the script that generates it, but a recent change manually
overwrote the spacing.
2015-06-01 09:20:03 +03:00
sijchen
ed73d51945 Merge pull request #1963 from llyzs/dynamic_qp
Copy QP value when changing encoder config
2015-06-01 10:43:58 +08:00
Ghislain MARY
93a5597c11 More fixes for out-of-tree build:
- Generate version header in the build tree
 - Generate .res file in the build tree on Windows
 - Add the $(SRC_PATH) prefix to the .def files on Windows
2015-05-29 14:57:07 +02:00
Guangwei Wang
b8592d105b add aarch64 for mc 2015-05-29 13:50:07 +08:00
Sijia Chen
92237fa329 improve a log for frame-skip 2015-05-29 10:48:02 +08:00
Vic Lee
ccaf242b80 Copy QP value when changing encoder config 2015-05-28 10:19:55 +08:00
Sijia Chen
9442a7a0b5 add parameter checking on resolution and related UT 2015-05-26 15:41:47 +08:00
Sijia Chen
8b7af7cbef add comment for interface and better condiction for warning trace 2015-05-26 15:19:47 +08:00
Sijia Chen
585b61626c add some warning traces in case the setting of frame rate has problem 2015-05-26 14:49:46 +08:00
Sijia Chen
d15afbbee0 improve rate control trace 2015-05-25 10:31:58 +08:00
Sijia Chen
7a3ef3a003 update version info to get accord with release 2015-05-25 10:30:45 +08:00
huili2
4da932426c Merge pull request #1957 from HaiboZhu/Change_trace_level_avoid_too_many_traces
Change the trace level from INFO to DEBUG to avoid too many traces
2015-05-22 14:37:31 +08:00
Haibo Zhu
e757dce0e4 Change the trace level from INFO to DEBUG to avoid too many traces 2015-05-20 20:54:51 -07:00
Haibo Zhu
a484681202 Fix bug about the decoder with mosaic when EC off 2015-05-20 18:27:20 -07:00
sijchen
7d7a5c28bc Merge pull request #1954 from mstorsjo/fix-screen-enc-bigendian
Avoid endian assumptions in FillQpelLocationByFeatureValue_c
2015-05-18 16:57:20 +08:00
karina li
85869921d3 reset buffer status when force IDR 2015-05-18 02:40:21 +08:00
Martin Storsjö
b90eca78cd Avoid endian assumptions in FillQpelLocationByFeatureValue_c
These values are read as two separate 16 bit integers from an
array in the FeatureSearchOne function, therefore we should
also store them in a well-defined order.

This fixes encoding of screen content on big endian; now the
full testsuite passes on big endian.
2015-05-15 13:11:23 +03:00
sijchen
89728faf8d Merge pull request #1953 from mstorsjo/remove-tabs
Remove tabs from multiline comments, public headers, enums and lists of defines
2015-05-15 18:09:02 +08:00
Martin Storsjö
df994fa3f5 Convert tabs to spaces in enums and tables of defines 2015-05-15 11:20:11 +03:00
Martin Storsjö
61027613dd Convert tabs to spaces in the public headers
Since these spaces aren't at the start of lines, astyle doesn't
change it when fixing indentation.

The spacing and alignment is manually fixed up in a few places.
2015-05-15 10:52:42 +03:00
Martin Storsjö
b05468b5c1 Convert tabs to spaces in multiline comments 2015-05-15 10:50:49 +03:00
Martin Storsjö
31453e3072 Revert broken big-endian fix for DeblockingBsMarginalMBAvcbase
The function actually was correct for big-endian use already
(and the changes in 239e22d0 actually broke normal decoding tests),
it was only the test function itself that needed fixing for big-endian.
2015-05-15 10:13:40 +03:00
sijchen
853423b5ad Merge pull request #1944 from mstorsjo/deblock-bigendian
Remove endianness assumptions from DeblockingBsMarginalMBAvcbase
2015-05-15 14:08:08 +08:00
Martin Storsjö
0ca7ff49e2 Convert tabs to spaces in assignment of SIMD function pointers 2015-05-14 14:07:49 +03:00
Martin Storsjö
95ac72754e Convert tabs to spaces in .def files
The three def files in the project currently use tabs very inconsistently.
2015-05-14 13:58:44 +03:00
Martin Storsjö
5c7fe31277 Convert tabs to spaces in the public header code examples 2015-05-14 13:58:44 +03:00
Martin Storsjö
d152c25485 Remove tabs from the copyright/license section in file headers 2015-05-14 13:58:40 +03:00
sijchen
569e7d1253 Merge pull request #1945 from mstorsjo/remove-tabs
Remove tabs from multi-line macro indentation and tables
2015-05-14 12:37:31 +08:00
sijchen
0185a07e7a Merge pull request #1942 from mstorsjo/fix-longlong-consts
Add a LL suffix to 64 bit integer literals
2015-05-14 09:56:30 +08:00
Martin Storsjö
7a80c21526 Reformat tables without tabs 2015-05-13 22:06:58 +03:00
Martin Storsjö
dd913ef878 Don't use tabs for indentation in multi-line macros
The astyle configuration makes sure normal code is indented consistently
with 2 spaces, but astyle doesn't seem to touch the indentation in
these multi-line macros.
2015-05-13 22:06:54 +03:00
Martin Storsjö
239e22d088 Remove endianness assumptions from DeblockingBsMarginalMBAvcbase
This fixes a decoder unit test when running on big endian.
2015-05-13 20:48:04 +03:00
Martin Storsjö
2af19fa654 Add a LL suffix to 64 bit integer literals
This fixes building with gcc 4.0.
2015-05-13 10:38:02 +03:00
zhilwang
cf33d7031e Merge pull request #1937 from brly/feature-detect-avx2
Add detection of AVX2
2015-05-13 00:37:56 -07:00
Martin Storsjö
9ac4c8208e Add spaces around PRId64 macros in format strings
This does the same cleanup as was done in 4fc27714bd on new occurrances
in the code base.

This fixes building with MSVC 2015 (which is still only a release
candidate).
2015-05-12 13:38:08 +03:00
brly
b7fb9414c5 Add detection of AVX2 2015-05-10 20:27:36 +09:00
Martin Storsjö
6d5ef0ba2d Use separate string literals instead of line continuation for multiline log messages
This avoids including excessive spacing from the indentation in
the actual message.
2015-05-08 21:48:52 +03:00
huili2
f1d1af0d34 Merge pull request #1934 from sijchen/fix_stat
[Encoder] remove un-calculated value setting, and add one more item in log
2015-05-08 16:24:49 +08:00
Sijia Chen
38ffbf7df4 fix an improper mb-size assignment 2015-05-08 11:10:19 +08:00
Sijia Chen
00168404b7 remove un-calculated value setting, and add one more item in log to supervise 2015-05-07 14:50:06 +08:00
sijchen
3aed85f717 Merge pull request #1926 from mstorsjo/remove-unnecessary-continuation
Remove unnecessary line continuation for concatenating strings
2015-05-05 11:44:13 +08:00
sijchen
fc4e905891 Merge pull request #1925 from mstorsjo/misc-minor-whitespace
Misc minor whitespace fixes
2015-05-05 11:43:06 +08:00
Martin Storsjö
f21aaa1cd4 Remove unnecessary line continuation for concatenating strings
There's no need to use backslashes for continuing the lines here,
the strings are concatenated just fine even if split over multiple
lines.
2015-05-04 12:49:01 +03:00
Martin Storsjö
65d6826470 Astyle a cpp file in the android test project
This gets rid of indentation with tabs.
2015-05-04 12:47:31 +03:00
Martin Storsjö
613a7a0ead Convert a tab to a space in an #ifndef 2015-05-04 12:46:38 +03:00
Martin Storsjö
2bd89983cd Fix cases where file headers refer the wrong (old?) file name 2015-05-04 12:45:03 +03:00
zhilwang
2d2c5d0112 Merge pull request #1918 from mstorsjo/ifdef-spaces
Remove unnecessary double spaces and tabs in ifdef directives
2015-04-29 17:41:52 -07:00
zhilwang
15a8977ad8 Merge pull request #1919 from mstorsjo/printf-tabs
Use \t or plain spaces instead of literal tabs in printf formats
2015-04-29 17:41:42 -07:00
zhilwang
9bda41b1ae Merge pull request #1920 from mstorsjo/codec-ver-spacing
Add spaces in the struct in codec_ver.h
2015-04-29 17:41:32 -07:00
Martin Storsjö
a9c6a9d760 Remove tabs from the end of lines like ") {" 2015-04-29 15:49:28 +03:00
Martin Storsjö
02354832cf Add spaces in the struct in codec_ver.h
This avoids unnecessary changes if this file is run through astyle.
2015-04-29 15:48:33 +03:00
Martin Storsjö
ec99a3bcc5 Use \t or plain spaces instead of literal tabs in printf formats 2015-04-29 15:46:27 +03:00
Martin Storsjö
f324c354b1 Remove unnecessary double spaces and tabs in ifdef directives 2015-04-29 15:34:38 +03:00
huili2
ecd6102688 disable ECed output for nodelay decoding 2015-04-28 13:42:01 +08:00
zhilwang
5cf163449f Merge pull request #1914 from mstorsjo/asm-cleanup
Clean up assembly source files
2015-04-27 17:54:38 -07:00
Martin Storsjö
b1570b17be Convert mixed tabs to spaces in shell scripts
All other shell scripts use spaces for indentation.
2015-04-27 14:10:09 +03:00
Martin Storsjö
a00e2e7229 Convert tabs to spaces in sample_sc.asm
This makes them consistent with the rest of the assembly source
files. Prior to f2314151e8, all the assembly files had consistent
indentation, but after that, this file had been made different.
2015-04-27 14:07:04 +03:00
Martin Storsjö
7d3bb19bed Fix up indentation in some arm assembly files 2015-04-27 14:05:52 +03:00
Martin Storsjö
db750af868 Remove stray dos newlines in files that otherwise have unix newlines 2015-04-27 14:05:42 +03:00
Martin Storsjö
31a9fb6913 Remove trailing whitespace 2015-04-27 14:02:28 +03:00
sijchen
81df4c6972 Merge pull request #1910 from mstorsjo/make-simplify
Simplify handling of the default "all" rule
2015-04-27 10:34:42 +08:00
Haibo Zhu
c24c967c65 Fix the possible infinite loop bug and Fix the judgement condition 2015-04-22 19:58:39 -07:00
Martin Storsjö
75251b5af7 Remove stray spaces before colon in messages 2015-04-22 09:19:59 +03:00
huili2
dac13639c9 Merge pull request #1908 from HaiboZhu/Add_Highprofile
Add high profile support
2015-04-21 09:42:49 +08:00
Haibo
e9916c7592 Add Transform 8x8 support
Add Intra 8x8 support
Add no_deblocking support inside T8x8
Add CABAC parse support
Add static data sheet for dequant
Fix bugs and clean/astyle the code
Remove build warnings
Modify the UT cases
Fix the ParseNalHeader bug
2015-04-20 04:04:30 -07:00
Martin Storsjö
a436676bc8 Update openh264.rc when updating the version number 2015-04-20 12:08:52 +03:00
Martin Storsjö
350b69bbf0 Simplify the version generation script 2015-04-20 12:08:52 +03:00
Martin Storsjö
2b33c74993 Include the version number and other info in the built DLL file 2015-04-20 12:08:52 +03:00
sijchen
473f2e3d42 Merge pull request #1901 from mstorsjo/cleanup
Clean up warnings and incorrect indentation in the console tools
2015-04-20 11:18:59 +08:00
sijchen
c8ee9a0308 Merge pull request #1904 from mstorsjo/wp-proj-gitignore
Add a gitignore file for the windowsphone project
2015-04-20 11:18:05 +08:00
Martin Storsjö
95a46f1fc6 Add a gitignore file for the windowsphone project 2015-04-17 16:13:31 +03:00
Martin Storsjö
f39f58e9db Avoid warnings about conversion from double to float 2015-04-17 14:58:55 +03:00
Martin Storsjö
15c71312d2 Use spaces for indentation instead of tabs 2015-04-17 14:58:55 +03:00
Martin Storsjö
f619c16840 Hook up the x86_32-only assembly as well
This makes sure the code is at least somewhat tested. Ideally those
assembly functions should be upgraded to work in 64 bit mode as well,
but until then it's better to actually use them in the configurations
where they can be built.
2015-04-17 13:00:46 +03:00
Sijia Chen
7b52c402db add command line option to set input frame rate 2015-04-16 12:46:18 +08:00
Sijia Chen
1922b533f6 change the range of frame rate from 30 to 60 2015-04-16 12:45:43 +08:00
Sijia Chen
8b679cad73 improve statistic calc 2015-04-16 12:45:33 +08:00
Sijia Chen
6a31bc3785 downgrade the log level of screen reference logs to save log volume 2015-04-16 12:45:22 +08:00
Sijia Chen
2a9035a571 add a clip to avoid warning on gcc4.8.2
https://github.com/cisco/openh264/issues/1858
2015-04-16 12:45:09 +08:00
sijchen
d718ad89f4 Merge pull request #1891 from darealshinji/patch-1
Indentation in PrintHelp() for better reading flow
2015-04-13 14:38:29 +08:00
HaiboZhu
46d1c93016 Merge pull request #1892 from huili2/bugfix_greenissue_parseonly
bugfix for HW decoding green issue
2015-04-13 10:24:28 +08:00
huili2
cf3845779f bugfix for HW decoding green issue 2015-04-10 12:52:32 +08:00
darealshinji
60a6dceb7d Indentation in PrintHelp() for better reading flow 2015-04-10 00:38:13 +02:00
huili2
4d913096a1 bug fix for nodelay API for buffer storage 2015-04-08 11:20:52 +08:00
huili2
20f28cd2f2 bug fix for parseonly multi-data in 2015-04-07 02:18:13 -07:00
huade
8abe601d33 add Codec demo and auto build script for WP8 2015-04-07 09:55:37 +08:00
Martin Storsjö
0995390c4a Remove apple specific versions of arm macros with arguments
The apple assembler for arm can handle the gnu binutils style
macros just fine these days, so there is no need to duplicate all
of these macros in two syntaxes, when the new one works fine in all cases.

We already require a new enough assembler to support the gnu binutils
style features since we use the .rept directive in a few places.
2015-03-27 11:11:45 +02:00
Martin Storsjö
d8202cf38f Remove apple specific versions of arm64 macros with arguments
The apple assembler for arm64 can handle the gnu binutils style
macros just fine, so there is no need to duplicate all of these
macros in two syntaxes, when the new one works fine in all cases.

We already require a new enough assembler to support the gnu binutils
style features since we use the .rept directive in a few places.
2015-03-27 11:11:23 +02:00
Martin Storsjö
cdce1b73ca Remove a stray, unused parameter to a gnu binutils style macro in arm assembly 2015-03-27 11:11:23 +02:00
Martin Storsjö
0b0884874d Remove superfluous .text directives at the start of arm assembly files
This directive can be set by the common include header that is
included by all files anyway.
2015-03-27 10:46:34 +02:00
HaiboZhu
2b1c815184 Merge pull request #1880 from huili2/wels_const
merge wels_const.h
2015-03-26 16:14:40 +08:00
huili2
62bcf95d8c Merge pull request #1878 from mstorsjo/msvc-proj-cleanup
Remove references to missing files, clean up MSVC proj files
2015-03-26 09:46:24 +08:00
Martin Storsjö
b60d91f78e Don't downsample to anything smaller than 4x4 pixels
This makes for a chroma plane of 2x2. The SIMD versionf of generic
downscalers assume that the width and height is at least 2, since
it does an unconditional loop for the body of the image, and a
separate step for the last pixel and last row. The SIMD versions
assume that (width-1) and (height-1) are larger than zero.

This is the same fix as in e8cdbd2ea7, but making sure it applies
to both dimensions, that commit only fixed it for one of the
dimensions.

This fixes spurious crashes in EncodeDecodeTestAPI.SimulcastSVC.
2015-03-25 12:15:51 +02:00
Martin Storsjö
b98e7c1f7d Rename a vcproj folder to camelcase, to match all other folders in the same project 2015-03-25 11:46:41 +02:00
Martin Storsjö
19bcb45c22 Fix the indentation of a line in a vcproj file
This line seems to have been misindented by a manual edit.
2015-03-25 11:40:28 +02:00
Martin Storsjö
b6a1e1ce83 Remove references to missing files from the vcproj files 2015-03-25 11:40:10 +02:00
huili2
2673f0a579 merge wels_const.h 2015-03-25 17:11:40 +08:00
sijchen
cbc5681c01 Merge pull request #1876 from ruil2/base_vui
fix vui writting
2015-03-25 15:11:44 +08:00
ruil2
149e029c27 Merge pull request #1874 from sijchen/check_param2
[Encoder] fix a param checking for profile_idc
2015-03-25 14:12:11 +08:00
ruil2
4c352d13f3 fix vui writting 2015-03-25 14:10:18 +08:00
sijchen
3dbc36cdda Merge pull request #1872 from huili2/fix_1145964
fix order of null pointer protection
2015-03-25 11:18:37 +08:00
Sijia Chen
91b186ddc8 fix a param checking for profile_idc
reviewed at: https://rbcommons.com/s/OpenH264/r/1163/
2015-03-25 10:02:10 +08:00
huili2
bd8ad20e8a fix order of null pointer protection 2015-03-24 18:41:09 -07:00
huili2
88f5d1dde7 remove nal_prefix in encoder 2015-03-24 15:25:40 +08:00
huili2
a384df3246 Merge pull request #1868 from huili2/wels_common_basis
merge common part of wels_common_basis
2015-03-24 09:18:43 +08:00
sijchen
da8646f5b2 Merge pull request #1865 from ruil2/vui
update bGapsInFrameNumValueAllowedFlag according to parameters setting
2015-03-23 09:50:09 +08:00
huili2
403cc57dc6 merge common part of wels_common_basis 2015-03-20 12:44:00 +08:00
ruil2
cce966fbba update bGapsInFrameNumValueAllowedFlag according to parameters setting 2015-03-18 13:44:03 +08:00
Martin Storsjö
3956bccc3d Use the correct, official syntax for aarch64 mov instructions
Previously this used unofficial, apple specific syntax (with fallback
macros for gnu binutils), since Xcode 5.x didn't support the official
syntax of these instructions. Since Xcode 6 has been out for quite a
number of months already, it should be safe to require this (for
building 64 bit binaries for iOS, armv7 builds can still be built
with older Xcode versions).

This clarifies the code by avoiding apple specific syntax in the
assembler instructions.
2015-03-17 09:26:01 +02:00
Sijia Chen
cd3ebfa3d4 fix the usage of a rc variable 2015-03-16 15:01:14 +08:00
Sijia Chen
b4a9e99823 fix an uninitialization in RC when slice-increasing 2015-03-16 14:48:55 +08:00
huili2
7f3d6d8411 Merge pull request #1853 from syureyi/scalinglist_8x8
support scalinglist8x8
2015-03-16 10:48:15 +08:00
huili2
2d5a94ca75 Merge pull request #1847 from huili2/bit_stream
merge bit_stream.h for encoder&decoder
2015-03-16 10:47:44 +08:00
zhuiling
17e5ea95c0 support scalinglist8x8
fix issue

update according to wayne's suggestiong
2015-03-16 08:57:04 +08:00
ruil2
ae9c5e2516 update vui parameters 2015-03-13 19:11:10 +08:00
huili2
ed1140b846 merge bit_stream.h for encoder&decoder 2015-03-13 16:19:25 +08:00
ruil2
c109f4dc8d add VUI for base layer 2015-03-13 14:31:08 +08:00
sijchen
d7af7cedf9 Merge pull request #1845 from ruil2/rc_check
use each spatial layer qp instead of global qp and update traces
2015-03-12 17:27:24 +08:00
ruil2
fd7cd76b60 use each spatial layer qp instead of global qp and update traces 2015-03-12 15:05:51 +08:00
huili2
a93e4647df remove unused as264_common.h in decoder 2015-03-10 15:48:37 +08:00
Martin Storsjö
0ef69e55e2 Set pfMeCost to NULL when it isn't initialized
This avoids using uninitialized data in the check for bSatdInMdFlag.
2015-03-05 10:29:40 +02:00
huili2
4048b9791a Merge pull request #1834 from sijchen/check_param
complete parameter checking related to loop-filter-idc
2015-03-05 09:39:46 +08:00
huili2
3022d4f655 Merge pull request #1832 from sijchen/imp_mc
[Encoder] replace conditional judgements with faster operations
2015-03-05 09:39:31 +08:00
huili2
06b8e1abb7 allow slice-level data come in for parse only 2015-03-04 00:57:43 -08:00
dongzha
5b12578960 Merge pull request #1829 from syureyi/wp_p
Decoder WP support
2015-03-04 14:58:40 +08:00
zhuiling
9ef0c74fdd Decoder WP suppor
missed some part

fix clip value

update according to wayne's suggestion
2015-03-04 09:49:32 +08:00
Sijia Chen
94d1976a4e complete parameter checking related to loop-filter-idc 2015-03-03 18:31:37 +08:00
sijchen
5a1aedb622 Merge pull request #1827 from dongzha/cleanlog
modify decoder log
2015-03-03 11:01:46 +08:00
dong zhang
153dd0d3f5 format the files 2015-03-03 09:14:27 +08:00
Sijia Chen
63926a3d10 put a flag calculation in higher-level to save calculation in MB level 2015-03-02 17:36:55 +08:00
Sijia Chen
303bf77e42 replace conditional judgements with function pointer for acceleration 2015-03-02 17:11:11 +08:00
dong zhang
d28970d625 modify decoder log 2015-03-02 16:55:37 +08:00
Haibo Zhu
afbb499c77 Add Bs Lenght File Input in Console 2015-03-01 18:22:40 -08:00
Martin Storsjö
e8cdbd2ea7 Don't downsample to anything smaller than 4x4 pixels
This makes for a chroma plane of 2x2. The SIMD versionf of generic
downscalers assume that the width and height is at least 2, since
it does an unconditional loop for the body of the image, and a
separate step for the last pixel and last row. The SIMD versions
assume that (width-1) and (height-1) are larger than zero.

This fixes spurious crashes in EncodeDecodeTestAPI.SetOptionEncParamExt.
2015-02-28 14:58:53 +02:00
sijchen
2294b786cf Merge pull request #1774 from huili2/dec_flowchart_ec
modify decoder flowchart for non vcl AU check
2015-02-27 17:44:03 +08:00
Martin Storsjö
861f54887d Avoid trying to downscale layers to dimensions below 2
When calculating what resolution to actually downscale to,
it can end up smaller than what the caller set. When scaling
down to resolutions close to the limit of allowed values,
this can end up setting values lower than the limit.

Previously, e.g. a downscale from 2266x8 to 566x2 will end
up as 566x1 after this calculation. When scaling to a
566x1, the chroma plane gets a height of 0, which doesn't
make sense, and which breaks e.g. the SSE2 scaler. Therefore,
make sure none of the dimensions end up set below 2.
2015-02-19 14:53:02 +02:00
ruil2
e29ceca392 Merge pull request #1813 from sijchen/savc61
[Encoder] complete logic of simulcastavc with sps_pps_listing
2015-02-13 16:31:18 +08:00
Sijia Chen
15723e1204 add comments for write para set functions 2015-02-13 15:48:17 +08:00
HaiboZhu
1641ce9ee5 Merge pull request #1812 from huili2/cropping_error
return error for cropping data error
2015-02-12 11:27:48 +08:00
Sijia Chen
f9080ac090 complete logic of simulcastavc with sps_pps_listing 2015-02-11 17:31:17 +08:00
huili2
4e9e5f5c36 Merge pull request #1794 from syureyi/monochroma
to support monochroma
2015-02-11 16:10:07 +08:00
huili2
5683393f38 return error for cropping data error 2015-02-10 22:31:24 -08:00
Sijia Chen
943981abc4 fix a nal generation for simulcast avc and add nal-type check for simulcast avc UT 2015-02-09 13:50:31 +08:00
sijchen
bea361a1f0 Merge pull request #1805 from syureyi/fix_android_demo
Maintain android demo of encoder, fix a typo error
2015-02-09 11:05:17 +08:00
sijchen
9008b15d94 Merge pull request #1799 from mstorsjo/copy-spatial-downsample
Allow forcing copying in downscale
2015-02-06 14:22:18 +08:00
ruil2
8fc2af760f Merge pull request #1804 from sijchen/fix_over3
[Encoder] fix potential overflow under large bit rate
2015-02-06 14:22:01 +08:00
ruil2
296ab4d490 Merge pull request #1802 from sijchen/savc50
[Encoder] fix for in-middle changing simulcast avc setting
2015-02-06 14:21:47 +08:00
Sijia Chen
431bcee310 1, update the max-nal-size setting in UT and param check since we are using a larger input check
2, fix potential overflow (will change bs but little impact on bs)
2015-02-06 13:24:20 +08:00
ruil2
8246225eed Merge pull request #1791 from sijchen/fix_nal1
[Encoder] add a para check for max_nal_size
2015-02-06 12:17:40 +08:00
sijchen
3f19534dd6 Merge pull request #1790 from mstorsjo/simplify-vcproj
Remove the intermediate SW folder in the decoder vcproj files
2015-02-06 09:49:49 +08:00
Martin Storsjö
0a2cd1e59a Allow forcing copying in downscale
Normally, the DownsamplePadding skips scaling if the target
size is the same as the source size, assuming that the caller
will use the source data pointer in that case. This is true
for the base layer (the first call to DownsamplePadding in
SingleLayerPreprocess), but when downsampling the other layers,
there is no special handling for the case when the target
is the same size as the source.

Previously, the encoding of such spatial layers will use
completely uninitialized data, encoding complete garbage.

Instead force DownsamplePadding to make a copy if no scaling
is required, for the dependency layers. The base layer still
avoids a copy unless scaling of that layer is required.

Whether it actually makes sense to have lower spatial layers
the same size as the original one is a different question
though - currently the code allows it, and
EncodeDecodeTestAPI.SetOptionEncParamExt will try to use it.
2015-02-05 13:10:39 +02:00
Sijia Chen
bc1b28b5dd fix for in-middle changing simulcast avc setting 2015-02-05 16:34:28 +08:00
zhuiling
0a8a4f2284 to support monochroma
add mbtype judge logic
2015-02-04 15:00:54 +08:00
HaiboZhu
442230a91d Merge pull request #1789 from huili2/bugfix_checkspsactive
bug fix for multi-layer active sps check
2015-02-04 09:13:18 +08:00
Sijia Chen
2211324e2b add a para check for max_nal_size 2015-02-03 15:14:36 +08:00
Martin Storsjö
87b73257cb Remove the intermediate SW folder in the decoder vcproj files
This makes the folder structure in these project files match all
the other ones.
2015-02-03 09:09:58 +02:00
huili2
1734133012 bug fix for multi-layer active sps check 2015-02-02 22:31:50 -08:00
Martin Storsjö
4f237b51ef Move parts of wels_const.h into a shared header 2015-02-02 12:41:11 +02:00
Martin Storsjö
713beb7df7 Fix typos in header include guards 2015-02-02 12:41:11 +02:00
sijchen
5fdd01ec0c Merge pull request #1787 from mstorsjo/remove-stray-semicolon
Remove accidental double semicolons
2015-02-02 18:15:02 +08:00
sijchen
e7a7a35611 Merge pull request #1779 from mstorsjo/share-memalign
Move the memory allocation/deallocation routines to the common library
2015-02-02 18:14:55 +08:00
Martin Storsjö
a3063531c4 Remove accidental double semicolons 2015-02-02 09:20:35 +02:00
zhuiling
ee515e8b35 fix it 2015-02-02 10:17:19 +08:00