Commit graph

111 commits

Author SHA1 Message Date
Joose Sainio 6344812c22 [mtt] search with mtt depth 2 and dual tree works without lfnst 2022-11-30 10:43:12 +02:00
Joose Sainio 665886dc52 [mtt] fix dual tree 2022-11-29 12:14:58 +02:00
Joose Sainio badb834ef9 [mtt] All individual mtt splits should be working + uvg_get_possible_splits 2022-11-25 13:59:45 +02:00
Joose Sainio 472baa894f [mtt] Single mtt split works for everything else, except 16x16 with TT 2022-11-24 09:33:12 +02:00
Joose Sainio ecc1e3ec89 [mtt] WIP 2022-11-24 09:29:00 +02:00
Joose Sainio 6fe09411c0 WIP 2022-11-24 09:23:14 +02:00
Joose Sainio 540cf1fa41 [mtt] WIP 2022-11-24 09:23:14 +02:00
Joose Sainio ec72cbf3ea [mtt] Add function for easily getting all split cu_locs 2022-11-24 09:22:15 +02:00
Joose Sainio b6c36f07ac [mtt] Remove depth from cu_info_t 2022-11-24 09:22:15 +02:00
Joose Sainio 72196bbadb [mtt] Completely remove tr_depth 2022-11-24 09:20:50 +02:00
Joose Sainio 97507b6c30 [mtt] remove depth from cbf 2022-11-24 09:19:47 +02:00
Joose Sainio ce754ba991 [mtt] remove lfnst dependency to depth 2022-11-24 09:19:25 +02:00
Joose Sainio cdc3b40733 wip 2022-11-24 09:17:22 +02:00
Joose Sainio 2e81b73e12 [mtt] remove all rest usages of deriving width and height from depth 2022-11-24 09:12:59 +02:00
Joose Sainio 0134f07949 [mtt] change most if not all of search hierarchy to use cu_loc_t 2022-11-24 09:06:14 +02:00
siivonek 0b44c429bd [isp] Fix lfnst constraint check when ISP is used. Remove some obsolete comments. 2022-09-28 12:38:02 +03:00
siivonek e8779fc175 [isp] Fix storing cbfs for small ISP splits. Fix pdpc filtering. Cannot be used if width or height is less than 4. Fix dct related CI errors. 2022-09-16 15:46:31 +03:00
siivonek 3c5479f99b [isp] Convert functions to handle new coeff array order. Add function for getting coeff array subset. Fix assert. 2022-08-26 16:39:57 +03:00
siivonek 3346eea6ce [isp] Modify transform and quantization functions to handle non-square blocks. Add strategy headers to CMakelist. 2022-08-04 21:47:46 +03:00
siivonek 4224e3de57 [isp] Implement ISP search and partitioning. Add helper function for constructing cu_loc types. WIP stuff for transform. 2022-07-29 15:36:56 +03:00
Joose Sainio 68243e284f [cleanup] fix warnings 2022-06-28 16:02:22 +03:00
Joose Sainio 345c50ecee [dual-tree] rename kvz_ to uvg_ 2022-06-28 15:32:30 +03:00
Joose Sainio be2ef18fea [dual-tree] Not working 2022-06-28 15:32:27 +03:00
Joose Sainio 8fba042e02 [dual-tree]preliminary preparation for dual tree 2022-06-28 15:32:27 +03:00
Joose Sainio 20010cf759 [lfnst] Fix hash mismatches for depth 4 chroma 2022-06-28 15:32:10 +03:00
Joose Sainio 36137e2bee [lfnst] WIP 2022-06-28 15:29:50 +03:00
Joose Sainio f056178e80 [jccr] Chroma transform search kinda working 2022-06-28 15:27:21 +03:00
siivonek e11fd3154d [lfnst] Implement cabac write. 2022-06-28 15:20:36 +03:00
Joose Sainio 153afc6739 Merge branch 'improve-intra-search' 2022-05-30 13:35:46 +03:00
Marko Viitanen b5dce4c94e Rename all files containing "kvazaar" or "kvz" to "uvg266" and "uvg" 2022-04-28 14:26:05 +03:00
Marko Viitanen f14ea35ec9 Rename kvz_ to uvg_ 2022-04-28 14:18:09 +03:00
Joose Sainio f7563076cb WIP 2022-04-15 11:39:15 +03:00
Joose Sainio 00acf661cf WIP: intra prediction generation from a singular function 2022-04-15 11:39:15 +03:00
siivonek 6b33957978 [mip] Implement MIP bit cost calculation. 2022-02-09 12:55:16 +02:00
siivonek d5e2bbd824 [mip] Fix things according to comments. Fix asserts. Remove MIP from chroma recon and search calls. WIP mip mode cost calculation. 2022-02-09 12:55:16 +02:00
siivonek 59a86f339e [mip] Implement MIP search. 2022-02-09 12:55:16 +02:00
Marko Viitanen 54eaba3dee Fix merge issues and license texts 2021-11-23 08:46:06 +02:00
Marko Viitanen 885570e181 Merge branch 'master' of https://github.com/ultravideo/kvazaar 2021-11-22 22:11:32 +02:00
Marko Viitanen fa9a1db498 [inter] Fix mv precision in many places and add more mv_t usage and new vector2d_t rounding function 2021-11-19 16:20:49 +02:00
Marko Viitanen bf06538f33 [inter] Change internal MV precision to "INTERNAL_MV_PREC" and add new type mv_t 2021-11-18 09:49:12 +02:00
Marko Viitanen c4a9d3dc83 [amvr] Add cmd line parameter for amvr and a field to the cu_array_t for setting it
* Still hardcoded too QPEL
2021-11-17 14:53:30 +02:00
Marko Viitanen d4902cc840 [inter] Implement Adaptive Motion Vector Resolution bits, the resolution still in fullpel 2021-11-16 17:18:29 +02:00
Marko Viitanen 57883369ca Change all the license texts in source headers and LICENSE file to 3-clause BSD, closes #302
* All now have the same exact text string
2021-10-13 15:22:46 +03:00
Joose Sainio 042b5078d8 [jccr] WIP initial implementation
Add somekind of search for joint chroma residual coding.
Bitstream is currently correct but prediction is incorrect because the jccr
is actually not used in the search.

Hard coded to be enabled
2021-09-06 11:28:08 +03:00
Arttu Makinen c5570abe1b Removed 'emt' variable from cu_info_t and changed 'emt' globally to 'mts' for consistency. 2021-02-10 12:08:05 +02:00
Arttu Makinen 2e7c342645 Implemented DCT2, DST7, and DCT8 transforms, and search for selecting transform for MTS. Using MTS results mismatch for luma component. 2021-02-02 11:09:43 +02:00
Arttu Makinen b9c3336f0e MTS bitstream encoding added for intra. Work with depths 0-3. 2021-01-18 20:44:36 +02:00
Sami Ahovainio 4768ba0628 Minor fixes to header writing. Added contexts for multi_ref_line and BDPCM. Functions added for writing both in bitstream, but they are both disabled for now. 2019-05-29 13:00:19 +03:00
Sami Ahovainio 5b46fbd878 Added multi_ref_idx variable for intra coding (is 0 throughout the code for now). Modified prediction flag writing. Chroma pred flag remains unchanged (ToDo). Added bitstream debug printing on VERBOSE mode. 2019-05-21 12:28:05 +03:00
Marko Viitanen ad310c77d3 Added EMT transforms to the strategies 2018-10-17 08:56:49 +03:00