Commit graph

2292 commits

Author SHA1 Message Date
Marko Viitanen 96a0f03298 Refactoring encoder.c in preparation for adding merge-mode 2013-10-18 11:39:31 +03:00
Ari Koivula b1b45944a9 Merge branch 'intra_sad' 2013-10-18 10:48:18 +03:00
Ari Koivula 99d4a669c3 Fix bug with partitioning search. 2013-10-18 10:45:38 +03:00
Ari Koivula 61cef4eef4 Add intra modes to CU visualization. 2013-10-16 17:09:04 +03:00
Ari Koivula d74d4e4ef1 Refactor intra sad calculation functions.
- Move SATD (hadamart) code to it's own functions.
- Generate functions for fixed block sizes with macros, as if using templates.
- Define new interface with function pointer cost_16bit_nxn_func that different
  cost functions can use.
- Hide fixed size block cost functions with getters.
2013-10-16 17:09:03 +03:00
Ari Koivula 122806bcf7 Enable macro expansion and function macros in doxygen. 2013-10-16 13:55:28 +03:00
Ari Koivula 70832ac201 Merge branch 'pixel' 2013-10-15 16:15:29 +03:00
Ari Koivula 202aec69f2 Change more 8-bit pixels to pixel typedef. 2013-10-15 16:02:06 +03:00
Ari Koivula ef0caee959 Fix compiler warnings. 2013-10-15 14:36:42 +03:00
Ari Koivula b8dd664026 Move all 8-bit pixels into new pixel typedef. 2013-10-15 14:36:30 +03:00
Ari Koivula dba20b2467 Merge branch 'sad-boundary' 2013-10-11 15:38:35 +03:00
Ari Koivula 0c3bd7e223 Move SAD calculations to picture module. 2013-10-11 15:37:58 +03:00
Ari Koivula 69d1f6d1e2 Clean up the code.
- Rename get_block_sad to calc_sad and handle special cases in general_sad.
- Remove old search functions because I don't want to update or test them.
2013-10-11 15:19:21 +03:00
Ari Koivula be501f720c Reorder conditions. 2013-10-11 14:11:49 +03:00
Ari Koivula b155d825be Add tests for movement vectors that are completely out of frame. 2013-10-11 14:11:49 +03:00
Ari Koivula 0df974cb0d Change sad functions to accept negative block widths.
This makes boundary checking clearer.
2013-10-11 14:11:21 +03:00
Ari Koivula 235b1ec0bc Add rest of the quadrants for sad calculation.
- All tests pass.
- Movement vectors that don't overlap with the frame aren't handled yet.
2013-10-11 12:41:07 +03:00
Ari Koivula 22262dbc98 Fix a bug in a test. 2013-10-11 12:38:14 +03:00
Ari Koivula b58a6387ee Clean up the code a bit. 2013-10-11 11:04:49 +03:00
Ari Koivula 7e6c9aefe8 Add handling of more cases to sad calculation. 2013-10-10 21:51:27 +03:00
Ari Koivula d3561146d8 Change sad-tests to use chars instead of numbers to help with debugging.
1 + 48 is ascii '1' and so on.
2013-10-10 21:50:41 +03:00
Ari Koivula 4e36992752 Move basic SAD functions to picture-module. 2013-10-10 21:49:41 +03:00
Ari Koivula 0e078b2d18 Rethink SAD-calculation. 2013-10-10 21:49:20 +03:00
Ari Koivula 1fcb452479 Simplify reference buffer calculation. 2013-10-10 21:48:55 +03:00
Marko Viitanen 7a53bddead Fixed inter deblocking by setting correct CU residual info on transform split 2013-10-10 17:47:08 +03:00
Marko Viitanen 1b2b3c19bb Added option to enable residual coding skip when residual under threshold 2013-10-10 16:31:00 +03:00
Ari Koivula 684f6d548c Start adding sad calculation outside frame.
Works for top-left corner. 2/9 tests pass.
2013-10-10 16:11:07 +03:00
Marko Viitanen 2716b74100 Merge branch 'inter_residual' 2013-10-10 15:24:34 +03:00
Marko Viitanen 3d8e14f58b Fixed dequantization of inter-blocks 2013-10-10 15:22:25 +03:00
Ari Koivula 356a0e8a14 Change SAD-test offset.
Using 3 instead of 4 avoids having symmetric negation of the offset, like
-4 and +4. It also makes the expected result easier to calculate by hand.
2013-10-10 15:16:14 +03:00
Marko Viitanen bc815e8cd2 Fixed scan_idx selection on quantization 2013-10-10 14:59:20 +03:00
Ari Koivula 2b4ca9b3e5 Remove tests as post build event from main project.
It wasn't supposed to be there yet.
2013-10-10 14:31:59 +03:00
Ari Koivula 24d9fd7c05 Fix wrong index in sad tests. 2013-10-10 14:04:19 +03:00
Marko Viitanen 788a0c9d18 Bugfix for quantization scaling list selection 2013-10-10 11:17:17 +03:00
Marko Viitanen 82eca02ec8 Fixed deblocking condition on residual and deblocking disabling 2013-10-09 17:39:26 +03:00
Marko Viitanen 12fbc5fb4a Fixed and simplified inter deblocking strength selection 2013-10-09 17:39:25 +03:00
Marko Viitanen bb9ac4f03b Fixed quant to select table according to block type 2013-10-09 17:39:24 +03:00
Marko Viitanen c9cf75775b Deblocking fix: store block residual status and use it in deblocking 2013-10-09 17:39:23 +03:00
Marko Viitanen 2b5159d8ab Bugfix: residual coding almost working 2013-10-09 17:39:07 +03:00
Ari Koivula ea30bf0126 Fix SAD calculation to return correct value in non-overlapping case. 2013-10-09 16:08:56 +03:00
Ari Koivula 68aa70a49a Add tests for calculating sad outside frame. 2013-10-09 15:31:27 +03:00
Marko Viitanen 817f83cc93 Bugfix for inter reconstruction: half-pel chroma reused variables 2013-10-09 13:39:00 +03:00
Ari Koivula 8719867330 Merge branch 'hexagon' 2013-10-09 12:12:19 +03:00
Marko Viitanen 102c39a396 Bugfix for inter reconstruction: half-pel chroma reused variables 2013-10-09 11:03:38 +03:00
Marko Viitanen bcd29cba5c Refactoring: residual related variable renaming and code styling 2013-10-09 11:01:16 +03:00
Ari Koivula cdcb56dd4a Add special case for the 0,0 vector to hexagon search. 2013-10-08 16:11:00 +03:00
Marko Viitanen ef0bea32e1 Merge branch 'master' into inter_residual
Conflicts:
	src/encoder.c
2013-10-08 15:04:31 +03:00
Marko Viitanen ac0db59408 Renamed variable to fix a typo 2013-10-08 14:49:02 +03:00
Ari Koivula 8910037936 Add hexagon-based motion vector search. 2013-10-08 13:38:03 +03:00
Ari Koivula 9d02dfdd13 Make debug html more strict. 2013-10-08 12:30:57 +03:00