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
Ari Lemmetti
bdef5384ef
Added AVX strategy
2014-06-17 16:52:24 +03:00
Ari Koivula
ab3845c9c7
Add some intra sad tests.
2014-06-16 18:03:56 +03:00
Ari Koivula
bb31408d8b
Update VS project.
...
- Disable warnings about converting function pointers to void *.
- Treat incorrect indirection levels warnings as errors.
2014-06-16 12:29:10 +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
9a3569b5c6
Update unit tests to work with current build.
...
- Updating picture_list wasn't really worth it so I removed it.
2014-06-13 15:30:23 +03:00
Ari Koivula
3b7d532675
Add missing headers to VS project.
2014-06-12 15:50:51 +03:00
Ari Koivula
50cc601d36
Update VS project to use more standard paths for pthreads-w32.
2014-06-12 10:54:17 +03:00
Ari Koivula
eec1bd18b7
Update VS project.
...
- Update all projects to use VS2013 toolset that has better c99 support that
some of Laurent's changes require.
- Fix the unit test project. Tests still need to be updated.
2014-06-11 17:03:22 +03:00
Ari Koivula
575652fe50
Add missing files to VS project.
2014-06-04 17:45:51 +03:00
Ari Koivula
d6c0c9b5e1
Treat incorrect declarations as errors in VS.
2014-05-28 15:21:52 +03:00
Ari Koivula
6309cfadd7
Instruct VS to not include all win32 headers.
2014-05-19 15:58:16 +03:00
Ari Koivula
f3962dc744
Make undefined names errors in VS project.
...
- We never want to use undeclared functions. Should have done this a long time
ago.
2014-05-19 15:58:16 +03:00