Commit graph

2935 commits

Author SHA1 Message Date
Ari Koivula 4e052d3f0f Wrap contexts of cabac_data inside cabac_data.ctx struct. 2014-09-24 01:02:37 +03:00
Ari Koivula b339004c4c Rename cabac_state.ctx to cur_ctx. 2014-09-24 01:02:28 +03:00
Ari Koivula 8b8b53fba5 Merge branch 'sao_cabac' 2014-09-22 10:28:30 +03:00
Ari Koivula bfa399c8fc Fix compiler warnings.
- Non-parenthesized parameter in a macro.
- Unused variables.
- Wrong const qualifiers.
- Signed/unsigned comparison.
2014-09-22 10:04:57 +03:00
Marko Viitanen 6f65a9cbbd Improved SAO merge decisions 2014-09-16 10:08:17 +03:00
Marko Viitanen 21df11ba4e Implemented SAO search for both chroma components 2014-09-15 16:07:31 +03:00
Marko Viitanen e8d1140a1a Check SAO band offset for both chroma components and better SAO chroma cabac costs 2014-09-15 16:07:31 +03:00
Marko Viitanen 0c92031e8a SAO merge checking cleanup 2014-09-15 16:07:31 +03:00
Marko Viitanen b274e7adcd Added cabac bit cost calculations to SAO search 2014-09-15 16:07:31 +03:00
Ari Koivula 5f732126c3 Add cabac bit costs float table. 2014-09-15 15:45:43 +03:00
Ari Koivula 0db7d8d20f test cu split cost 2014-09-15 15:42:03 +03:00
Ari Koivula 35b2e6f755 Add missing cabac context for chroma cbf.
- The context was also missing from HM, but has been fixed in HM13.
2014-09-15 15:41:44 +03:00
Ari Koivula 241b9d6adb Simplify cabac context copying.
Conflicts:
	src/context.c
2014-09-15 15:41:44 +03:00
Ari Koivula c7d238f4dc Merge pull request #81 from darealshinji/patch-1
reposition colons in usage message to match with the rest
2014-09-15 09:20:33 +03:00
darealshinji 61a414bced reposition colons in usage message to match with the rest 2014-09-15 03:40:18 +02:00
Ari Koivula 3c73892609 Fix transform split search.
- Redo the search with the best mode to make sure the tr_depth parameters are
  correct.
2014-09-11 10:56:53 +03:00
Ari Koivula 46b6b1243b Add --rd=3 mode and enable searching of intra depth 0.
- intra_build_reference_border was overflowing at depth 0 because it uses
  arrays just large enough to accommodate 32x32 transforms, which is the
  biggest transform.
- For similar reasons search_intra_rough doesn't work at depth 0.
- The --rd=3 mode tries all modes with transform search. It also works without
  rough search so it was used to test depth 0 search. If --rd=3 is not on intra
  split at depth 0 is not searched for.

Conflicts:
	src/search.c
2014-09-11 10:54:41 +03:00
Ari Koivula c5fa824347 Rebase transform split search. 2014-09-08 14:13:59 +03:00
Ari Koivula 79b86ce6e1 Add --tr-depth-intra command line option.
Conflicts:
	src/encoder.c
2014-09-04 13:42:24 +03:00
Marko Viitanen fe236de807 Fixed sps_max_dec_pic_buffering value to include current picture 2014-09-01 10:31:11 +03:00
Marko Viitanen dbcc8d65aa Removed duplicate function from RDOQ 2014-08-28 08:50:01 +03:00
Ari Koivula 931ec7301c Put slice delta QP to bitstream.
- Before slice delta QP was always 0. Now if global->QP is changed before
  contexts are set, the delta qp is put to the bitstream, allowing for rough
  frame level rate control.
2014-08-25 16:43:23 +03:00
Ari Koivula 4c3bbd4a35 Rewrite the SContruct.
- Works with new /strategy/ structure.
- Change architecture selection to use arch= instead of construction target.
2014-08-25 16:43:23 +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 f88c3b6f37 Removed unnecessary if (both branches did the same thing) 2014-08-20 11:54:35 +03:00
Arizer 3d8c045ae4 Merge pull request #80 from lfasnacht/thread_visualizer
Fix commit 8502f3d
2014-08-11 16:51:46 +03:00
Laurent Fasnacht f3c311fe1a Fix commit 8502f3d 2014-08-11 15:17:15 +02:00
Ari Koivula a38c3241e8 Merge pull request #79 from lfasnacht/thread_visualizer
Better log file format for visualizer
2014-08-11 14:26:19 +03:00
Laurent Fasnacht f9bffe35a5 Log tile id in sad perf log 2014-08-11 11:57:08 +02:00
Laurent Fasnacht 6a937de9b2 Fix search_cu log 2014-08-11 11:57:08 +02:00
Laurent Fasnacht 8502f3d850 Improve logging 2014-08-11 11:57:07 +02:00
Laurent Fasnacht f1b303a2d2 Fix compilation errors 2014-08-11 09:53:06 +02:00
Ari Lemmetti 47e3bcfb50 Fixed incorrect shift values for inverse transforms in generic strategy 2014-08-07 16:01:30 +03:00
Ari Koivula d93f0ac71f Add benchmark test for dct functions. 2014-07-31 13:25:28 +03:00
Ari Lemmetti 709520a233 Removed all AVX2 instructions from SATD functions.
-Zero extend macro now returns results in 2 xmm registers instead of one ymm
2014-07-31 13:25:28 +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 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 150a47435d Add missing files. 2014-07-30 15:26:20 +03:00
Ari Koivula 0a9c425afb Merge branch 'speed-test' 2014-07-30 09:46:18 +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 fa39a44fac Add gradient test to intra sad. 2014-07-28 12:31:49 +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 Koivula 669e99dd7f Improve intra SAD AVX2 intrinsics.
- Moved implementations for different sizes to inline functions that are
  defined using each other, reducing the amount of redundant code.

- Performance of sad_8bit_32x32_avx2 improved by about 10% due to unrolling of
  the loop.
2014-07-25 15:59:55 +03:00
Ari Lemmetti 9f5bcf45eb Merge branch 'asm' 2014-07-23 15:04:27 +03:00
Ari Koivula e00102f0ca Compile asm optimizations only if yasm is present. 2014-07-23 14:57:40 +03:00
Ari Lemmetti 85fb0784e4 Fixed intendentation and added some empty lines for readability 2014-07-23 12:32:27 +03:00
Ari Lemmetti 7309706e94 Removed unnecessary stuff from intra_sad_tests.c 2014-07-23 11:51:17 +03:00