Commit graph

121 commits

Author SHA1 Message Date
Ari Koivula 330ce53deb Disable VS warnings
C4214 bit field types other than int (not standardized)
C4127 constant conditional expression (do-while)
C4201 nameless struct (C11 feature)
2016-07-14 15:11:43 +03:00
Ari Koivula 8eb087120e Make VisualStudio ignore the crypto stuff
Add stubs for the crypto functions so we can refer to them, even if we
never use them.
2016-06-07 16:58:09 +03:00
Ari Koivula 4125218cfa Add --hash=md5
Add md5 through extras/libmd5 taken from HM with BSD license. It's
implemented as a generic strategy using the same interface as checksum,
so we can write a SIMD version if it seems necessary.
2016-03-18 05:23:57 +02:00
Ari Lemmetti 04fbb48a09 Add strategy for avx2. Copy generic functions there. 2016-03-16 20:13:15 +02:00
Ari Lemmetti 4e30a215d8 Create generic strategy for sao. 2016-03-16 20:11:15 +02:00
Ari Koivula e27ec2cc53 Add kvz_math.h for common inline math functions
Calling it just math.h would have prevented including system math.h.
2016-03-10 15:26:18 +02:00
Ari Koivula f8edf28161 Fix const qualifier warning
Also set the warning to an error in VS.
2016-03-09 14:16:15 +02:00
Arttu Ylä-Outinen 49677810b5 Rename config module to cfg.
Prevents a conflict with config.h and src/config.h so that the config.h
generated by configure is included in global.h. Fixes problems with
large input files on 32-bit systems.
2016-01-25 12:26:46 +02:00
Arttu Ylä-Outinen 9feb2f6dbd Add missing file to Visual Studio tests project.
Adds file tests/mv_cand_tests.c to kvazaar_tests VS project files.
2016-01-25 12:16:34 +02:00
Ari Koivula 6ba1a15044 Remove kvazaar_version.h from VS project
It does not exist anymore.
2016-01-21 16:21:26 +02:00
Ari Koivula 1270da3626 Move files under their modules in Visual Studio
Also moves CLI stuff under CLI project, so they are compiled as their
own lib just like when the Makefile is used.

The file interface_main.c was an artifact from a bygone era and should have
been deleted long ago.
2015-12-17 15:39:45 +02:00
Ari Koivula 3c0d72a549 Disable VS warnings in tests
Disable warnings about conditions being always true, as they come from the
framework.
2015-11-13 22:49:23 +02:00
Ari Lemmetti f4fe3dca5e Add AVX2 strategy. Copy generic implementation there. 2015-10-08 12:36:15 +03:00
Ari Lemmetti 54e8b346a3 Add intra strategy. Move angular prediction there. 2015-10-08 12:36:05 +03:00
Ari Lemmetti 38106afa50 Add AVX2 version of quantization. 2015-10-02 16:18:52 +03:00
Ari Lemmetti d68fc4c41e Add header for common utilities to use with strategies. 2015-10-01 19:40:35 +03:00
Arttu Ylä-Outinen 1d2a398197 Move function kvz_encoder_feed_frame to a separate module.
Adds module input_frame_buffer.
2015-09-14 14:12:18 +03:00
Ari Koivula 9a23ae3d92 Resolve remaining Visual Studio warnings.
- Ignore most of them and fix the ones that can't be ignored.
2015-08-31 15:02:25 +03:00
Ari Koivula 3c9b830d8f Add modules search_intra and search_inter.
- For breaking up search module.
2015-07-21 12:04:16 +03:00
Arttu Ylä-Outinen 371d54c14a Add KVZ_DLL_EXPORTS definition to MSVC projects.
Fixes unresolved external symbol error when building in Visual Studio.
2015-07-21 11:56:08 +03:00
Arttu Ylä-Outinen 4ab9aa3e2f Move kvz_encoder definition to kvazaar_internal.h. 2015-07-02 16:58:30 +03:00
Arttu Ylä-Outinen 7bd23f5dbb Rename yuv_input module to yuv_io. 2015-07-02 16:28:39 +03:00
Arttu Ylä-Outinen 970d0ec182 Move input reading functions to yuv_input module.
Adds function read_yuv_frame and moves functions fill_after_frame and
read_and_fill_frame_data from encoderstate to yuv_input.
2015-07-02 16:24:23 +03:00
Ari Koivula ad11d1bca5 Add kvazaar.h to hold high-level encoder API.
- Move encoder initialization from main to kvazaar.c.
- Have main use the API for initialization.

Conflicts:
	src/encmain.c
2015-07-02 15:52:23 +03:00
Ari Koivula 238b1bbcff Make incompatible pointer an error in VS. 2015-07-02 15:45:35 +03:00
Ari Koivula ea50d03e52 Add cli module and move interface stuff to there. 2015-07-02 15:45:33 +03:00
Arttu Ylä-Outinen 1587a50be4 Add missing files to the Visual Studio project.
Adds rate_control.c and rate_control.h to the kvazaar_lib project. Fixes
Visual Studio build.
2015-06-29 12:23:28 +03:00
Ari Lemmetti cc061b4c3d Added ipol strategy for interpolation filters.
Added initial files for AVX2 and generic strategies.
2015-01-15 14:59:37 +02:00
Ari Lemmetti e6ed565c9e Removed unused file version.h from visual studio project 2014-11-26 17:28:59 +02:00
Ari Koivula 78dd136189 Enable asm optimizations for VS. 2014-10-03 11:15:52 +03:00
Ari Koivula 47244a15c3 Merge branch 'dct-optimizations'
Conflicts:
	src/strategies/avx2/dct-avx2.c
	src/strategies/generic/dct-generic.c
2014-10-02 13:45:21 +03:00
Ari Lemmetti 823ee69c64 Added tests for DCT/IDCT 2014-10-02 13:24:29 +03:00
Ari Koivula c5fa824347 Rebase transform split search. 2014-09-08 14:13:59 +03:00
Ari Lemmetti 4622d8392c Enabled Link Time Code Generation and Whole Program Optimization in Visual Studio project release optimizations 2014-08-20 12:06:16 +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 6bf63bd171 Added AVX2 strategy for partial butterfly (no optimizations yet) 2014-07-31 13:25:28 +03:00
Ari Koivula b5944d5d3c Move test strategy initialization to its own module. 2014-07-29 08:31:28 +03:00
Ari Koivula 538c9ec85b Add a benchmark for strategies.
- usage: kvazaar_tests -v -s speed

Conflicts:
	build/kvazaar_tests/kvazaar_tests.vcxproj
	build/kvazaar_tests/kvazaar_tests.vcxproj.filters
	tests/tests_main.c
2014-07-28 12:34:12 +03:00
Ari Koivula 2ac030ee81 Add errors for VS.
- 4716 function must return a value.

- 4700 uninitialized local variable used.
2014-07-28 12:31:49 +03:00
Ari Lemmetti 4f88ebce5a Added comments and made visual studio not to compile x86inc.asm 2014-07-22 15:07:57 +03:00
Ari Lemmetti fea44c8234 Renaming AVX/asm files
-Splitted SAD and SATD functions in separate files
2014-07-21 18:02:01 +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 3daa5dd1f1 Add sse2 implementaton for sad_8bit_4x4. 2014-07-18 18:20:34 +03:00
Ari Lemmetti 1e94262f85 Made AVX asm compatible with the changed system
- x86inc.asm is now located in extras
- Removed unused cpu.asm/h
2014-07-14 18:51:17 +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 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 fbd03b706e Reconfigure VS project.
- Moved compilation flag stuff from project file to the abstraction layer.

- Disabled randomized base address as unnecessary.

- Disable stack buffer security check from release.
2014-07-11 17:26:19 +03:00
Ari Lemmetti 048127c7e3 AVX assembly optimizations improved 2014-07-02 16:57:06 +03:00