Commit Graph

37 Commits

Author SHA1 Message Date
ruil2
3ba6a5f4da Simplify encoder interface--remove EncoderFrame2 from interface
function
2014-02-20 10:33:07 +08:00
Martin Storsjö
49f4dad1b7 Split the encoder Initialize method into two
This avoids the struct type casting and having to pass a parameter
that says which kind of struct it actually is.
2014-02-18 22:51:54 +02:00
Martin Storsjö
a899f05f2d Don't have SEncParamExt inherit SEncParamBase
Instead just duplicate the common fields. These fields had to
be duplicated for the C interface compatibility anyway - but
this way there is no risk to accidentally introduce an ABI
break since there is no need for the layout of SEncParamBase to
actually match the start of SEncParamExt.
2014-02-18 22:51:54 +02:00
Martin Storsjö
6d6a63a703 Mark the Initialize pointer parameter as const
This makes it clear to the callers that the struct will
not be modified by this call.
2014-02-18 22:51:53 +02:00
Martin Storsjö
5cb8518306 Remove the Initialize2 function from the external API
This function no longer needs to be public since one can pass
SEncParamExt to the normal Initialize function.
2014-02-18 22:51:53 +02:00
Martin Storsjö
1075338b9b Use the actual struct type instead of a void pointer to the decoder Initialize method 2014-02-18 13:00:59 +02:00
Martin Storsjö
658d1e3651 Remove the unused iInitType parameter to the decoder Initialize method 2014-02-18 13:00:45 +02:00
ruil2
35fa429fb0 encoder interface update step1 2014-02-18 09:51:47 +08:00
Martin Storsjö
76383c7150 Add a test that verifies that the bool typedef in C is ABI compatible with C++ 2014-02-13 11:03:36 +02:00
Martin Storsjö
ce22f84a2b Regenerate target makefiles after the latest mktargets.py changes 2014-02-12 22:11:05 +02:00
jwwang
4fa810da8b 1. support .c in makefile generator. 2. add test to check C interfaces. 2014-02-12 14:52:35 +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
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
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
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ö
7df69c1482 Remove an unnecessary field from generated makefiles 2014-01-24 15:02:40 +02:00
Martin Storsjö
3cacaf85f1 Include the executable suffix within make
This makes sure that e.g. "make clean" actually removes
the built exe files, and avoids relinking the exe files each
time make is run when cross compiling from linux to windows.

(Make on windows seems to have an exception that knows to skip
rebuilding the 'h264enc' target if 'h264enc' doesn't exist but
'h264enc.exe' does, but this exception doesn't work on normal
unix make.)
2014-01-23 16:15:22 +02:00
Martin Storsjö
dd0db820fc Rename public interface methods to avoid two overloaded methods with the same name
This is required to make the order in the C++ virtual table
consistent in MSVC - previously the overloaded methods were
ordered differently in the vtable compared to the interface
declaration.
2014-01-21 20:54:32 +02:00
Varun B Patil
d1d444b622 Removed unused headers in test/ 2014-01-20 22:11:47 +05:30
Martin Storsjö
a8d549e343 Omit assembler source rules if no asm sources are found 2014-01-17 18:52:46 +02:00
Martin Storsjö
b842ff30e5 Make the compiler/ar/linker file output parameters overrideable
This is in preparation for allowing building using MSVC via
makefiles.
2014-01-17 12:06:11 +02:00
Varun B Patil
1f598b892b Encoder output test : added stream with non-multiple of 16 width/height
Also added decoder output test for the same.
2014-01-12 19:54:55 +05:30
EKR
78502ebcdf Fix Travis and update test targets.mk (64-bit only for now) 2014-01-08 20:17:46 -08:00
jwwang
94b79c42b1 minor fixes to the tests 2014-01-08 19:12:21 -08:00
jwwang
6f58a0c1f7 Add encoder test 2014-01-08 19:12:02 -08:00
jwwang
cb0053f860 Add decoder test 2014-01-08 19:11:23 -08:00
Ethan Hugg
f85911e331 Merge pull request #117 from mstorsjo/make-patterns
Use make patterns to avoid needing autogenerated rules for each source file
2014-01-08 09:48:31 -08:00
Martin Storsjö
488fb7bb20 Add proper dependencies for the command line binaries
This makes sure that all the dependency libs are built before trying
to link them together, fixing parallel make (which occasionally
failed due to trying to link the encoder or decoder command line
binaries before the libs had been built) and also fixes building an
individual component by e.g. "make h264enc".
2014-01-08 16:36:11 +02:00
Martin Storsjö
80669ed059 Use make patterns to avoid needing autogenerated rules for each source file 2014-01-08 16:33:35 +02:00
Ethan Hugg
ff6b669176 Pretty printed the C++ code with astyle 2013-12-12 14:21:12 -08:00
EKR
bc3c63c431 Add a trivial init test 2013-12-12 11:38:15 +08:00
EKR
fb429bbf67 Add gtest support 2013-12-12 10:56:52 +08:00