Commit Graph

4321 Commits

Author SHA1 Message Date
Haibo Zhu
3a6ed92a35 Update the wrong description in README.md 2016-07-08 17:13:48 +08:00
huili2
842b4f0243 Merge pull request #2516 from HaiboZhu/Add_release_binary_files_v1.6.0
Update the binary files location for openh264 release 1.6.0 in master branch
2016-07-08 09:25:11 +08:00
Haibo Zhu
d5a8c84409 Update the binary files location for openh264 release 1.6.0 2016-07-08 08:58:50 +08:00
HaiboZhu
4e3df2619a Merge pull request #2512 from HaiboZhu/Update_v1.6_information
Update the release note and readme files for version 1.6
2016-07-05 08:41:52 +08:00
Haibo Zhu
af8240a440 Update the release note and readme files for version 1.6 2016-07-04 10:45:23 +08:00
HaiboZhu
ec70649261 Merge pull request #2509 from pengyanhai/master
Make sure the output resolution of encoder doesn't exceed the Openh264 capability
2016-07-01 14:42:13 +08:00
Hank Peng
00e89b89f0 Make sure the output resolution of encoder doesn't exceed the Openh264 capability 2016-06-30 22:32:30 -07:00
HaiboZhu
acab999b45 Merge pull request #2507 from GuangweiWang/master
rename debug symbols file's name
2016-06-29 10:00:30 +08:00
Guangwei Wang
f8516bb8af fix 2016-06-28 15:58:25 +08:00
Guangwei Wang
e77a101885 fix bug 2016-06-28 15:03:00 +08:00
Guangwei Wang
ac65f3adc8 rename debug symbols file's name 2016-06-27 12:41:59 +08:00
HaiboZhu
b2d6902176 Merge pull request #2504 from ruil2/adaptive
fix QP issue when adaptive quant turns on
2016-06-22 14:13:18 +08:00
Karina
35e073714d fix QP issue when adaptive quant turns on 2016-06-22 13:33:50 +08:00
HaiboZhu
60cbb77583 Merge pull request #2500 from ruil2/downsampling
use average downsampling fistly then general downsampling
2016-06-21 10:11:44 +08:00
ruil2
c6356ca8fc Merge pull request #2499 from saamas/encoder-avoid-valgrind-downsampling-false-positives
[Encoder] Avoid valgrind downsampling false positives
2016-06-21 09:17:37 +08:00
Karina
7c0ca2fc14 use average downsampling fistly then general downsampling when dst resolution > 1/4 source resolution and dst resolution <1/2 source resolution 2016-06-17 10:30:47 +08:00
ruil2
6a86e37849 Merge pull request #2495 from saamas/processing-dyadic-bilinear-downsample-optimizations
[UT] Allow for different output depending on downsample average order
2016-06-17 09:18:46 +08:00
Sindre Aamås
f14fb2cfbc [UT] Allow for different output depending on downsample average order
Avoid X86_ASM ifdef.

Ideally, we may want to update all routines to average vertically
first, which would make this unnecessary. In the interim, this
enables the tests to run successfully on x86 without SSSE3 support
again.
2016-06-16 22:07:58 +02:00
Sindre Aamås
0f7b8365b9 [Encoder] Avoid valgrind downsampling false positives
X86 SIMD downsampling routines may, for convenience, read slightly beyond
the input data and into the alignment padding area beyond each line. This
causes valgrind to warn about uninitialized values even if these values
only affect lanes of a SIMD vector that are effectively never used.

Avoid these false positives by zero-initializing the padding area beyond
each line of the source buffer used for downsampling.
2016-06-16 21:19:17 +02:00
HaiboZhu
5637df510e Merge pull request #2498 from mstorsjo/android-avoid-stl-include
Use assert.h instead of cassert
2016-06-16 09:21:03 +08:00
Martin Storsjö
e945654f06 Use assert.h instead of cassert
This fixes building for android differently than in f5e483ce.

On android, <cassert> isn't available in the normal include path,
only when the STL headers are available.

We intentionally avoid using STL within the main libopenh264.so, to
simplify dependency chains for users of the library (which otherwise
could run into conflicts if the surrounding app would want to use
a different STL implementation).

The previous fix only provided headers, not actually linking
against STL, so at this point it's not a real issue yet, but it's
still a very slippery slope towards accidentally starting relying on
STL within the core library.

Instead explicitly avoid using STL within the core library, by not
even providing the include path.
2016-06-15 21:06:11 +03:00
HaiboZhu
8661e358c0 Merge pull request #2497 from GuangweiWang/master
fix android build issue
2016-06-15 14:05:53 +08:00
Guangwei Wang
f5e483ce95 fix android build issue 2016-06-15 13:19:41 +08:00
HaiboZhu
2e6c9f7cd3 Merge pull request #2496 from saamas/processing-relax-downsample-buffer-size-requirement
[Processing] Relax downsample buffer size requirement
2016-06-15 10:31:53 +08:00
HaiboZhu
d35647ec3b Merge pull request #2491 from ruil2/nalsize
add nalsize checking UT and fix nalsize control when cabac on
2016-06-15 10:24:18 +08:00
HaiboZhu
151a7ff643 Merge pull request #2490 from sijchen/refactor_ref4
[Encoder] refactor: to avoid only use idx0 in syntax writing, for now it has no impact on bs
2016-06-15 10:23:38 +08:00
HaiboZhu
84a7669b63 Merge pull request #2464 from bumblebritches57/MVC
MVC aka Stereoscopic 3D support
2016-06-15 10:05:15 +08:00
ruil2
4b6f037020 Merge pull request #2489 from saamas/processing-dyadic-bilinear-downsample-optimizations
[Processing] DyadicBilinearDownsample optimizations
2016-06-12 10:02:55 +08:00
Sindre Aamås
fe4a47a979 [UT] Add comment on X86_ASM checksum ifdef 2016-06-08 21:53:30 +02:00
Karina
b5cef5d49c modify reserved nal header size and change source frame in NalSizeChecking UT 2016-06-08 10:12:27 +08:00
sijchen
94c94ca3b1 Merge pull request #2493 from ruil2/configure
modify  comments in configure file
2016-06-07 14:41:21 -07:00
sijchen
4c8458f7ff Merge pull request #2494 from ruil2/stat
use the correct frametype in statistics info
2016-06-07 14:41:12 -07:00
Karina
40f4fc05bb get each spatial layer qp 2016-06-06 17:13:22 +08:00
Karina
c1255451d7 use the correct frametype in statistics info 2016-06-06 17:06:56 +08:00
Karina
02218e2dbd modify configure file comments 2016-06-06 16:22:09 +08:00
ruil2
106d13d26c Merge pull request #2492 from saamas/processing-x86-downsample-use-lddqu
[Processing/x86] Use lddqu in case we still run on anything that benefits
2016-06-06 12:46:55 +08:00
Sindre Aamås
f183891c5b [Processing/x86] Use lddqu in case we still run on anything that benefits 2016-06-04 00:41:35 +02:00
Sindre Aamås
5a9c6db335 [Processing] Relax downsample buffer size requirement
AFAICT, it is sufficient that the sample buffer has space for half
the source width/height. With the current sample buffer size, this
enables its use for resolutions up to 3840x2176.
2016-06-03 15:14:09 +02:00
Sindre Aamås
68a5910f8f [Processing] Clear LSB before rounding up dyadic downsample width 2016-06-03 12:03:01 +02:00
Karina
2171d84f1e add nalsize checking UT and fix nalsize control when cabac on 2016-06-03 17:36:14 +08:00
ruil2
3eba80765c Merge pull request #2487 from sijchen/refactor_ref31
[Encoder] Preprocess: refactor to improve code readability
2016-06-03 13:39:04 +08:00
sijchen
1fa02f6b07 Merge pull request #2488 from ruil2/codingIdx1
fix codingIdx update issue
2016-06-02 10:00:56 -07:00
Karina
4f41c3a5bf fix codingIdx update issue 2016-06-02 21:17:31 +08:00
Sindre Aamås
8a0af4a3f2 [Processing/x86] DyadicBilinearDownsample optimizations
Average vertically before horizontally; horizontal averaging is more
worksome. Doing the vertical averaging first reduces the number of
horizontal averages by half.

Use pmaddubsw and pavgw to do the horizontal averaging for a slight
performance improvement.

Minor tweaks.

Improve the SSSE3 dyadic downsample routines and drop the SSE4 routines.
The non-temporal loads used in the SSE4 routines do nothing for cache-
backed memory AFAIK.

Adjust tests because averaging vertically first gives slightly different
output.

~2.39x speedup for the widthx32 routine on Haswell when not memory-bound.
~2.20x speedup for the widthx16 routine on Haswell when not memory-bound.

Note that the widthx16 routine can be unrolled for further speedup.
2016-06-02 13:44:28 +02:00
Sindre Aamås
7cbb75eac6 [Processing] Pick dyadic downsample function based on stride
Assume that data can be written into the padding area following each
line. This enables the use of faster routines for more cases.

Align downsample buffer stride to a multiple of 32.

With this all strides used should be a multiple of 16, which means
that use of narrower downsample routines can be dropped altogether.
2016-06-02 13:44:28 +02:00
Sindre Aamås
770e48ac2b [Processing] Remove unused align macros
The WELS_ALIGN macro here aliases the WELS_ALIGN macro in macros.h
which is inconvenient. Just remove these unused macros.
2016-06-02 13:44:28 +02:00
sijchen@cisco.com
a7ae1efc3a add back the missing part after merging and formatting 2016-06-01 21:33:33 -07:00
sijchen@cisco.com
8bacc3d4d0 Preprocess: refactor to improve code readability 2016-06-01 21:26:24 -07:00
sijchen
f6b6a0f6aa Merge pull request #2485 from ruil2/init
remove redundant initialization
2016-06-01 09:28:02 -07:00
sijchen@cisco.com
8537a9274d fix a prob 2016-06-01 09:21:12 -07:00