90 Commits

Author SHA1 Message Date
Guangwei Wang
1f8ef8f0a3 Add new x86 assembly functions to support sub8x8 mode 2015-07-10 09:00:05 +08:00
Guangwei Wang
49b569a018 Add new ARM AArch64 assembly functions to support sub8x8 mode 2015-07-08 10:34:49 +08:00
Guangwei Wang
9f0d51d8d2 add new AArch32 asm functions to support sub8x8 mode 2015-07-07 10:13:56 +08: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
huili2
57bd721b2f add sub8x8 mode decision functions 2015-06-30 10:29:49 +08: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
Martin Storsjö
78e0ec6130 Convert tabs to spaces before comments 2015-06-10 10:22:29 +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ö
43767cddb6 Remove tabs from commented out code 2015-06-10 10:21:21 +03:00
Martin Storsjö
26c1ce2d05 Remove tabs from class constructor member initializer lists 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
huili2
c3cfce5223 modify some functions extending to sub8x8 usage, especially in ME part 2015-06-02 13:39:38 +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ö
b05468b5c1 Convert tabs to spaces in multiline comments 2015-05-15 10:50:49 +03:00
Martin Storsjö
0ca7ff49e2 Convert tabs to spaces in assignment of SIMD function pointers 2015-05-14 14:07:49 +03:00
Martin Storsjö
d152c25485 Remove tabs from the copyright/license section in file headers 2015-05-14 13:58:40 +03:00
Martin Storsjö
7a80c21526 Reformat tables without tabs 2015-05-13 22:06:58 +03:00
brly
b7fb9414c5 Add detection of AVX2 2015-05-10 20:27:36 +09: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
Martin Storsjö
a9c6a9d760 Remove tabs from the end of lines like ") {" 2015-04-29 15:49:28 +03:00
Martin Storsjö
f324c354b1 Remove unnecessary double spaces and tabs in ifdef directives 2015-04-29 15:34:38 +03: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
huili2
ed1140b846 merge bit_stream.h for encoder&decoder 2015-03-13 16:19:25 +08:00
Martin Storsjö
2356eb1ff6 Move the memory allocation/deallocation routines to the common library
They are still used slightly differently in the encoder and decoder;
the decoder uses plain functions while the encoder uses one object
keeping track of the number of allocated bytes, and keeping track
of the requested alignment.
2015-01-30 11:30:59 +02:00
Martin Storsjö
f03edd79c2 Merge all MC unit tests into one file
Since both encoder and decoder use the same MC implementation now,
one set of tests is enough.
2015-01-28 23:59:37 +02:00
Martin Storsjö
9a0663620a Move the MC routines to the common library
Use the decoder versions of the functions (which are capable
of handling widths 4/8/16 for luma, not only 16 as in the
encoder). By using the more generic versions, there may be a small
performance loss since the functions need to check the width
in every call. Actual measurements show that the actual change is
very small (and the shared routines turn out to actually be faster
than the existing ones in ARM NEON setups).
2015-01-28 15:32:46 +02:00
Martin Storsjö
4ca8ad2612 Initialize pCodecInstance in the constructor
This avoids using uninitialized memory if SetCodecInstance
isn't ever called (as in DecUT_ParseSyntax).
2015-01-26 13:16:09 +02:00
zhuiling
a45c661525 to support different chroma qp
fix travis ci error
2015-01-23 09:06:09 +08:00
zhiliang wang
01b74ea7c1 Add asm code for NoneZeroCount and refine related code 2015-01-04 16:39:17 +08:00
sijchen
9a602cac1b Merge pull request #1657 from mstorsjo/clip-bitrate
Make sure the random test bitrate is high enough
2014-12-21 18:49:26 -08:00
ruil2
5ab5fe155b keep the consistency between sps level and parameter level 2014-12-15 09:56:54 +08:00
huili2
3e57fdc448 add this log for codec 2014-12-10 22:15:32 -08:00
ruil2
100de97b49 move cabac table to common 2014-10-30 12:42:09 +08:00
sijchen
43c62d06eb Merge pull request #1439 from sijchen/for_format
[Reformat] format cpp files for next release
2014-10-24 09:00:36 +08:00
Martin Storsjö
0a3d4c4ebc Only use pthread_setname_np on Android >= 9 (2.3)
Older versions of Android don't have this function.
2014-10-23 15:36:40 +03:00
Sijia Chen
97298de90a reformat cpp files for next release 2014-10-23 17:50:50 +08:00
Sijia Chen
41720f8df5 add a thread name for easier profiling 2014-10-23 16:38:05 +08:00
Daniel J. Hofmann
39d725c113 Wnewline-eof 2014-10-14 23:23:50 +02:00
ruil2
ed341048de refine common moudle for part of intra prediction function 2014-09-25 14:03:11 +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
ruil2
40e952f981 remove "\n" which shoudl be added by the trace sink 2014-08-27 14:34:05 +08:00
ruil2
493d254a4a merge level table 2014-08-12 09:28:40 +08:00
zhilwang
811e20f0d9 Merge pull request #1185 from mstorsjo/android-l-preview
Fix building for the Android L preview release, add support for new 64 bit Android ABIs
2014-07-18 16:56:22 +08:00
ruil2
ef7cce3d14 modify trace output 2014-07-17 10:09:52 +08:00
Martin Storsjö
9aaeef9264 Manually define the SWelsTime struct on unix, don't rely on struct timeb
We don't use the ftime function on unix for filling SWelsTime anyway,
we fill the time and millitm fields manually.

On android, the sys/timeb.h header has been removed in the next
platform version (currently available in NDK r10 in the "L preview"
release), since this header and the ftime function have been removed
from the POSIX 2008 specification.

This fixes compilation when targeting the Android "L preview" release,
even when targeting the 32 bit ABIs.
2014-07-16 21:32:18 +03:00
ruil2
b9058e4987 add trace tag 2014-07-16 16:49:53 +08:00