Commit Graph

817 Commits

Author SHA1 Message Date
Martin Storsjö
7b96c6756e Use void instead of void_t
There's really no reason for adding a typedef for void.
2014-02-10 08:06:33 +02:00
Martin Storsjö
2b77fe7f49 Use bool instead of bool_t
bool is one of the built in, standard types in C++, there's no need
for a typedef for it.
2014-02-10 08:05:09 +02:00
Martin Storsjö
17d7b5d72e Use bool_t instead of BOOL_T
One bool typedef is already more than enough, two is too many.
2014-02-10 08:05:09 +02:00
Martin Storsjö
0f7a958ce3 Move declarations of functions in mc_chroma/luma.asm into a header in common 2014-02-10 08:05:02 +02:00
Martin Storsjö
ad209c2d14 Move declarations of functions in expand_picture.asm into a header in common 2014-02-10 08:05:02 +02:00
volvet
bf9a78085e Merge pull request #273 from mstorsjo/remove-editor-state-file
Remove an MSVC resource editor state file
2014-02-10 09:08:09 +08:00
volvet
a4d9ba3feb Merge pull request #275 from mstorsjo/fix-win64-noasm-build
Fix building for win64 with assembly disabled
2014-02-10 09:00:31 +08:00
Licai Guo
b336bbdbd7 Merge pull request #272 from mstorsjo/enable-missed-asm-func
Take the missed WelsDecoderI4x4LumaPredH_sse2 function into use
2014-02-09 19:46:54 +08:00
Martin Storsjö
47934b3042 Fix building for win64 with assembly disabled 2014-02-09 02:19:48 +02:00
Martin Storsjö
83892ad056 Remove an MSVC resource editor state file
This file contains the local UI state of the resource editor,
and should not be committed to version control.

A similar file was removed earlier in c61b040, but this one
was missed.
2014-02-08 23:40:06 +02:00
Martin Storsjö
a532c1233b Take the missed WelsDecoderI4x4LumaPredH_sse2 function into use
Previously this function was never used.
2014-02-08 23:09:16 +02:00
Ethan Hugg
bf7dd96beb Merge pull request #261 from mstorsjo/make-remove-dot-dir
Remove redundant /./ parts from pathnames in makefiles
2014-02-08 09:06:03 -08:00
Martin Storsjö
d0185ab253 Remove redundant /./ parts from pathnames in makefiles
This is mostly a cosmetic improvement for the quiet make output.
2014-02-08 18:46:52 +02:00
Ethan Hugg
c80553bfa1 Merge pull request #270 from mstorsjo/c-interface-headers
Include stdbool.h in the public interface headers in C mode
2014-02-08 08:42:48 -08:00
Ethan Hugg
20c386a47b Merge pull request #269 from mstorsjo/remove-float-typedefs
Remove typedefs for float_t, double_t and real32_t
2014-02-08 08:42:22 -08:00
Ethan Hugg
da0c1fa75b Merge pull request #268 from mstorsjo/consistent-inline
Consistently use inline instead of __inline
2014-02-08 08:41:20 -08:00
Martin Storsjö
bcd08d8713 Include stdbool.h in the public interface headers in C mode
This avoids requiring the callers to explicitly include it before
including codec_api.h
2014-02-08 14:37:26 +02:00
Martin Storsjö
e66ad9ab86 Remove the real32_t typedef
The float type is defined in standards and is portably available
on all supported compilers and platforms.
2014-02-08 14:12:03 +02:00
Martin Storsjö
d36b10fac5 Remove typedefs for float_t and double_t
The actual float and double data types are defined in C89 and are
usable as such without any extra typedefs.

Removing the extra typedefs simplifies the compatibility typedef
headers, simplifies portability and makes the code base easier
to work with for people new to the library.
2014-02-08 14:11:44 +02:00
Martin Storsjö
ba6bf7da18 Consistently use inline instead of __inline
This seemed to have been missed in 109fecc.
2014-02-08 14:08:46 +02:00
Ethan Hugg
e366f5779b Merge pull request #267 from mstorsjo/install
Add a "make install" target
2014-02-07 10:03:06 -08:00
Martin Storsjö
45689f832b Add a "make install" target 2014-02-06 22:44:32 +02:00
Martin Storsjö
f5fd72f61e Build one large static library containing both decoder and encoder 2014-02-06 22:44:32 +02:00
Ethan Hugg
b4a941698a Merge pull request #266 from mstorsjo/remove-null-define
Remove fallback defines for NULL
2014-02-06 07:30:44 -08:00
Ethan Hugg
5bdda25ba3 Merge pull request #265 from mstorsjo/fix-tests-windows
Fix building/running tests on windows
2014-02-06 07:29:37 -08:00
Martin Storsjö
3a1bc92778 Include <algorithm> for std::min
This fixes building the test code on MSVC 2013.

(Actually building all of the tests on windows still is tricky
due to the OpenSSL dependency for SHA1, but there's a patchset
in review to take care of that.)
2014-02-06 10:55:12 +02:00
Martin Storsjö
43814000e4 Open output files in binary mode in the testsuite
This fixes running tests on windows.
2014-02-06 10:54:39 +02:00
Martin Storsjö
f252acf8a5 Remove fallback defines for NULL
No actual (supported) compiler lacks a definition for NULL, and it
is mandated to be present in stddef.h according to the C89 standard.
2014-02-06 10:38:15 +02:00
Ethan Hugg
33a1209a21 Merge pull request #264 from jwwang/add_gtests
Add gtests
2014-02-05 19:43:07 -08:00
jwwang
f2aaffbb72 fix clang error 2014-02-06 11:37:42 +08:00
jwwang
94bd097fcf minor naming/style/bug fixes 2014-02-05 18:04:32 +08:00
jwwang
0c2227e4b1 Remove temp files using the iterator pattern 2014-02-05 18:00:48 +08:00
jwwang
596be02cc4 Fix incomplete decocder output for not flushing the temp file 2014-02-05 18:00:48 +08:00
jwwang
8247eef9bb refactor and add decode_encode_test to pipeline decoder outoput to encoder test 2014-02-05 18:00:48 +08:00
Ethan Hugg
db6ce9c3d8 Merge pull request #262 from orbitcowboy/master
cleanup unused variable in codec/common/deblocking_common.cpp.
2014-02-03 07:24:49 -08:00
orbitcowboy
7d29cecc0e cleanup variable initializations. 2014-01-31 23:13:21 +01:00
orbitcowboy
21197abe96 cleanup unused variable in codec/common/deblocking_common.cpp. 2014-01-31 23:00:30 +01:00
ekr
856d770af5 Merge pull request #260 from mstorsjo/quiet-make
Add a make option for silencing the commands run
2014-01-30 04:14:36 -08:00
Martin Storsjö
8ecdcc7172 Add a make option for silencing the commands run
Add "V=No" to the make command to silence the make output.

This makes it easier to spot warnings or other unexpected messages
in the build output.
2014-01-30 13:56:19 +02:00
Martin Storsjö
0a14d4c79b Make the deblocking handling endian independent
This avoids having to set a define indicating the endianness.

This doesn't incur any significant measurable slowdown.
2014-01-30 10:33:21 +02:00
Martin Storsjö
21687726d0 Avoid requiring byteswapping functions
Instead of byteswapping a 32 bit word and writing it out as a
whole (which could even possibly lead to crashes due to
incorrect alignment on some platforms), write it out explicitly
in the intended byte order.

This avoids having to set a define indicating the endianness.
2014-01-30 10:16:25 +02:00
Ethan Hugg
1e744b1933 Merge pull request #257 from mstorsjo/simplify-endian-func
Simplify the implementation of GetValueOf4Bytes
2014-01-29 15:25:30 -08:00
Ethan Hugg
fbcd962169 Merge pull request #256 from mstorsjo/bigendian
Make the library work on big endian
2014-01-29 15:24:32 -08:00
Ethan Hugg
914650abc6 Merge pull request #255 from mstorsjo/unify-stack-align-macros
Remove the array_stack_align.h header from the encoder lib
2014-01-29 15:17:44 -08:00
Martin Storsjö
1d2c37f7de Simplify the implementation of GetValueOf4Bytes
What the two different implementations currently do is simply
to write a 32 bit number, in the native endianness, into the
given buffer.

The actual purpose of this function is still unknown though,
it can be removed completely without breaking decoding - it
is possibly a remnant from earlier functionality in the
decoder.
2014-01-29 22:44:42 +02:00
Martin Storsjö
cadbec75d8 Fix shifting tricks in deblocking for big endian
The code interprets an array of 4 uint8_t values as one uint32_t
and does shifts on the value. The same optimization can be
kept in big endian as well, but the shift has to be done in the
other direction.

This code could be made truly independent of endianness, but
that could cause some minimal performance degradaion, at least
in theory.

This makes "make test" pass on big endian, assuming that
WORDS_BIGENDIAN is defined while building.
2014-01-29 22:30:33 +02:00
Martin Storsjö
47ec78843a Don't read an uint8_t array as an uint32_t
This makes the code work properly on big endian.

The MC case is similar to how it's done in the encoder.

Neither of these should have any significant performance
impact.
2014-01-29 22:27:55 +02:00
Martin Storsjö
66c39a4fd4 Remove the array_stack_align.h header from the encoder lib
All of these macros are already available in the common
macros.h header. Unify all the macros to be named ENFORCE_*
instead of mixed FORCE/ENFORCE.
2014-01-29 22:07:52 +02:00
Ethan Hugg
e413ed20a2 Merge pull request #254 from mstorsjo/directory-typofix
Fix a typo in a directory name
2014-01-29 07:04:19 -08:00
Ethan Hugg
b2528a256a Merge pull request #253 from varunbpatil/help_update
updated README - make options
2014-01-29 07:03:48 -08:00