Commit Graph

2352 Commits

Author SHA1 Message Date
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