darealshinji
e230fb2eab
make it possible to add custom CFLAGS
2014-10-27 17:19:05 +01:00
Ari Lemmetti
e93fa54838
Added -lrt to fix undefined references to clock_gettime on some systems
2014-10-23 14:51:28 +03:00
Ari Lemmetti
eb7cecc3dd
Added .travis.yml for continuous integration. Added env variable to disable AVX2 for Travis (GCC version doesn't support it yet).
2014-10-23 14:20:07 +03:00
Ari Lemmetti
20967cfafe
Allow CC to be defined other than gcc. If not defined, use gcc as default.
2014-10-23 13:25:00 +03:00
Ari Koivula
b32867be2a
Remove -lrt from LDFLAGS.
...
- This might be required on some embedded system, but from what I can see
all the functions we use from real time extensions are included in libc
and the program seems to work fine without it.
- It doesn't exist on MingwW or Mac, so I think it's better to remove it
completely and add it later on any system that actually requires it.
- Related to #85 .
2014-10-14 11:48:57 +03:00
Ari Koivula
6f8a976b12
Give ARCH_X86_64 to yasm on Mac.
...
- Issue raised in #85 .
2014-10-14 09:47:56 +03:00
Ari Lemmetti
0beb278f5b
Partial butterfly strategy is now called DCT strategy. Made changes to transform functions in preparation for optimizations.
...
-Moved fast_forward_dst and fast_inverse_dst to DCT strategies
2014-07-31 13:25:28 +03:00
Ari Lemmetti
faccc4f09b
Partial butterfly functions now utilize the strategy selector
2014-07-31 13:25:28 +03:00
Ari Koivula
c2fac805d7
Give HAVE_ALIGNED_STACK to yasm on windows.
...
- Linux gets it through some other means but on windows it needs to be
given explicitly.
- Fixes issue #78 .
2014-07-30 16:26:23 +03:00
Ari Koivula
e00102f0ca
Compile asm optimizations only if yasm is present.
2014-07-23 14:57:40 +03:00
Ari Lemmetti
bd6e89c1f0
Updated include directories and file names to Makefile
2014-07-22 15:36:54 +03:00
Ari Lemmetti
a64df6f0d0
Merge branch 'asm'
...
Conflicts:
build/kvazaar_lib/kvazaar_lib.vcxproj.filters
src/Makefile
src/strategies/strategies-picture.c
2014-07-21 16:41:09 +03:00
Ari Lemmetti
1be2c3aae5
Preparing push to master and misc
...
-Removed unnecessary <math.h> headers
-Updated AVX/asm optimizations to match the new file hierarchy
-Makefile only compiles .asm files if KVAZAAR_DISABLE_YASM is not set to 1 and TARGET_CPU_ARCH is x86
2014-07-21 12:39:56 +03:00
Ari Koivula
a8f7103797
Add AVX2 implementations for sad_8bit_ 8x8, 16x16 and 32x32.
2014-07-18 18:27:30 +03:00
Ari Koivula
291817667f
Tidy up the Makefile.
2014-07-18 17:31:18 +03:00
Ari Koivula
e241866f43
Compile intrinsic functions with appropriate flags in gcc.
...
- Remove -march=native as it's no longer necessary for intrinsics to work.
Closes #77 .
- I couldn't test altivec or sse4.1, but sse4.1 compiles so I expect it
to work.
2014-07-18 17:28:14 +03:00
Ari Lemmetti
683eda1183
Merge branch 'master' into asm
...
Conflicts:
build/kvazaar_lib/kvazaar_lib.vcxproj
build/kvazaar_lib/kvazaar_lib.vcxproj.filters
src/Makefile
src/strategies/strategies-picture.c
2014-07-14 16:42:33 +03:00
Ari Lemmetti
7f873e037c
Updated Makefile to compile picture_x86.asm
2014-07-14 15:30:08 +03:00
Ari Koivula
5d0df56c94
Move optimizations to their own compilation units according to target.
...
- This is necessary in order to compile AVX intrinsics correctly in
Visual Studio. Having everything in their own units should also make
compiling normal C code with optimizations on easier.
- For now the makefile still relies on GCC __target__ attribute for compiling
intrinsics.
2014-07-11 17:26:19 +03:00
Ari Koivula
7532b789f8
Add -std=gnu99 for gcc.
...
- std=c99 doesn't work because then struct timespec won't be defined.
2014-06-17 16:15:39 +03:00
Ari Koivula
1de102be61
Move strategies to their own compilation units.
...
- Enforces a little bit more hierarchy. Compilation units are in strategies
and whatever inline includes they have are in a folder with the same name
as the strategy.
2014-06-13 15:30:23 +03:00
Ari Koivula
ea830d3dd2
Add warning for VLAs in Makefile.
2014-06-12 09:57:08 +03:00
Laurent Fasnacht
e1d9cb015a
Basic checkpointing system
2014-06-11 10:29:03 +02:00
Laurent Fasnacht
27a49d287d
Big refactor to use videoframe, image_list, and image instead of picture*
2014-06-10 09:19:06 +02:00
Laurent Fasnacht
530faf3951
Move video frame related stuff to videoframe
2014-06-05 14:08:31 +02:00
Laurent Fasnacht
0fac77f9eb
Image now in separate module
2014-06-05 14:04:12 +02:00
Laurent Fasnacht
821b71910b
Move picture_list to its own module
2014-06-05 09:49:24 +02:00
Laurent Fasnacht
aad2089fcf
Use -ftree-vectorize
2014-06-05 06:57:50 +02:00
Ari Koivula
cb7d7f9e15
Update Makefile.
2014-06-04 17:52:28 +03:00
Laurent Fasnacht
2e821b79a9
encoder_state in now in encoder_state.[ch]
2014-06-03 13:51:30 +02:00
Laurent Fasnacht
4f86919d75
Get rid of assembly cpuid for x86, compilation works for powerpc
2014-05-28 15:04:00 +02:00
Laurent Fasnacht
86e01284b8
Add -lrt
2014-05-16 08:48:54 +02:00
Laurent Fasnacht
baede7f6c4
threadqueue
2014-05-14 13:27:08 +02:00
Laurent Fasnacht
2c2a2528f3
Remove openmp stuff
2014-05-14 13:27:06 +02:00
Laurent Fasnacht
161fe38f5e
Remove USE_TILES define
2014-05-01 13:58:13 +02:00
Ari Koivula
d808fe3b02
Merge branch 'strategy_selector'
2014-04-29 15:36:48 +03:00
Laurent Fasnacht
bf7e755cf7
Strategies and runtime detection/choice of best algorithm
2014-04-29 11:51:41 +02:00
Ari Koivula
27b94d4b45
Address gcc -Wtype-limits errors.
...
- Fixes warnings in #19 and #16 .
2014-04-29 09:15:52 +03:00
Ari Koivula
2a17e9a7aa
Merge branch 'sse_intrinsics'
2014-04-28 19:38:08 +03:00
Ari Koivula
cecf4b0b4e
Move __USE_MINGW_ANSI_STDIO to Makefile.
...
- I'm not too clear on how this should be used, but having it in the source
file after mingw stuff was included caused a warning about redefinition of
__USE_MINGW_ANSI_STDIO.
2014-04-28 19:37:37 +03:00
Laurent Fasnacht
d66f809734
reg_sad implementation using SSE2/SSE4.1 intrinsics
2014-04-28 15:36:58 +02:00
Yusuke Nakamura
0214d4ffcc
Makefile: Remove unneeded arguments in CCFLAGS.
...
This fixes a compilation on clang.
2014-04-27 00:41:10 +09:00
Yusuke Nakamura
03da39e229
config: Use built-in getopt on non-MSVC environments.
2014-04-27 00:40:52 +09:00
Laurent Fasnacht
7719837f17
Simple OpenMP parallelization
2014-04-25 09:11:10 +02:00
Laurent Fasnacht
83360918ba
Removed table generation from main code, moved it to tools.
2014-04-17 11:13:15 +02:00
Laurent Fasnacht
9901c38dd5
scalinglist in independent file
2014-04-16 10:25:16 +02:00
Laurent Fasnacht
9112cbb58c
Generate and use static tables
2014-04-16 09:49:09 +02:00
Laurent Fasnacht
86c1cf339f
Add Makefile to dependencies
2014-04-15 15:47:40 +02:00
Laurent Fasnacht
29c93d8f3f
Automatic generation of build dependencies
2014-04-15 13:52:31 +02:00
Laurent Fasnacht
64f3f57af3
Compile with -Werror
2014-04-14 09:38:37 +02:00
Ari Koivula
61256fc31a
Enable -Wall by default.
2014-04-04 13:02:08 +03:00
Marko Viitanen
8768f2bb22
Revert "build: Add more cflags to the Makefile"
...
This reverts commit 4c6e7e086a
.
2014-02-21 17:18:23 +02:00
Luca Barbato
3441ff831e
Drop clang-compatible flag
2014-02-21 15:07:15 +01:00
Luca Barbato
4c6e7e086a
build: Add more cflags to the Makefile
2014-02-21 14:59:50 +01:00
Ari Koivula
6dbae48268
Remove debug module.
...
- It hasn't been very useful lately and I don't want to maintain it.
2014-02-10 16:50:53 +02:00
Yusuke Nakamura
4286c0f988
Support long option names by getopt_long().
2014-02-04 23:19:16 +09:00
Marko Viitanen
57d5f2fb93
Changes in Makefile for better 32/64bit detection
...
- Addresses issue #6
- Added -m64/-m32 flags for linker to allow 32bit compiling on 64bit platform
2014-02-03 15:53:21 +02:00
Marko Viitanen
47d85f8cd5
Modified Makefile to allow building on windows and defaulting to elf-binary
...
- Addresses issues #3 and #6
- Included make clean option
2014-02-03 14:27:19 +02:00
Marko Viitanen
76f24408b6
Included x264asm abstraction layer -library and fixed Makefile
...
Name mangling is causing problems on different platforms (issues #2 and #3 ) and some of it was solved modifying the Makefile. Separate 32bit and 64bit assembly functions were also causing problems and since we were going to move to x264asm abstraction layer anyway, we decided to do it now before spending time on the old implementation.
2014-01-30 17:59:50 +02:00
Gareth Andrew Lloyd
3805483595
Linker's objects/libraries order changed
...
gcc linker needs to parse objects before linking the necessary libraries
2014-01-29 15:34:31 +00:00
Marko Viitanen
23427a72cf
Merge branch 'rdoq'
2014-01-28 12:29:21 +02:00
Marko Viitanen
13927f777f
Fix for Makefile to allow 32bit compiling of assembly test
2014-01-27 15:34:02 +02:00
Marko Viitanen
83a1e9a555
Added rdo to Makefile
2014-01-27 14:36:10 +02:00
Marko Viitanen
f5c2292e06
Added simple Makefile and header files needed to compile on linux
2014-01-27 14:34:09 +02:00