Commit graph

100 commits

Author SHA1 Message Date
Joose Sainio a998f3ed74 [transform-skip] Convert the HEVC transfrom skip to VVC
For some reason transform skip uses QP MAX(52, QP) and the coeffs are
no longer shifted
2021-04-30 10:55:23 +03:00
Joose Sainio 7ff904fd9d [transform-skip] Bitstream generation for transform-skip 2021-04-30 10:54:45 +03:00
Joose Sainio 2ab005692d Enable 4x4 intra CUs 2021-04-23 10:57:29 +03:00
Joose Sainio 1aaa95601c Merge remote-tracking branch 'remotes/kvz_github/master' into Fix-monochrome
# Conflicts:
#	.gitlab-ci.yml
#	build/kvazaar_lib/kvazaar_lib.vcxproj.filters
#	src/cfg.c
#	src/encoder.h
#	src/kvazaar.h
#	src/rdo.c
2021-04-23 10:56:50 +03: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
Marko Viitanen 26f4f45c6d Use correct pred_mode cabac models -> fixes inter cabac bits 2020-10-13 12:04:31 +03:00
Marko Viitanen fa25621c77 Force certain intra modes off 2020-10-09 08:44:40 +03:00
siivonek bc1206a4d3 Define qp_delta_min & max in global.h instead of calculating them locally. 2020-09-29 13:46:27 +02:00
Marko Viitanen bddfb47a55 Merge remote-tracking branch 'remotes/kvazaar_github/master' 2020-09-25 11:49:11 +03:00
siivonek 0f3ef786b9 Modify delta QP range assert so it will work with any valid bit depth. Modify VAQ code so it will clip the QP to a proper range which is dependent on bit depth 2020-09-22 20:15:23 +02:00
siivonek fe6f93a951 Fix delta QP range check assert. Add separate asserts based on bit depth. 2020-09-22 20:15:22 +02:00
Marko Viitanen 20b66c9949 Sync to VTM 8.2 and add separate height to last_sig coding 2020-04-29 08:52:38 +03:00
Marko Viitanen 86d76b19a4 Fix intra neighboring block selection and clean some unused code 2020-04-16 14:12:40 +03:00
Marko Viitanen e737a878a6 Fix split flags and remove an extra terminating bit 2020-04-07 09:57:30 +03:00
Kari Siivonen (TAU) c972ca9067 Add assert to check if deltaQP out of bounds. Clip adaptive QP to [-13, 12]. 2020-02-18 13:20:26 +02:00
Marko Viitanen 17a53230fd Code cleanup, remove unused arrays and remove tabs 2019-11-18 09:01:23 +02:00
Marko Viitanen a16efe6b52 Merge remote-tracking branch 'remotes/github_kvazaar/master'
# Conflicts:
#	build/kvazaar_VS2013.sln
#	build/kvazaar_VS2015.sln
#	build/kvazaar_VS2017.sln
#	build/kvazaar_cli/kvazaar_cli.vcxproj
#	build/kvazaar_lib/kvazaar_lib.vcxproj
#	build/kvazaar_tests/kvazaar_tests.vcxproj
#	src/encode_coding_tree.c
#	src/encode_coding_tree.h
#	src/encoder_state-bitstream.c
#	src/inter.c
#	src/strategies/avx2/quant-avx2.c
2019-08-22 15:12:01 +03:00
Marko Viitanen 01ea762c1f Fix coeff coding ad remove bdpcm flag -> CABAC bits match with VTM 6.0 2019-08-22 14:33:42 +03:00
Marko Viitanen 210af8adbe Remove joint_cb_cr flag and fix split_flag context selection 2019-08-22 11:23:24 +03:00
Marko Viitanen 48b8898e53 Fix CBF context init and use 2019-08-22 10:44:47 +03:00
Marko Viitanen db94ec1a84 Rename intra_mode_model -> intra_luma_mpm_flag_model and update the contexts 2019-08-19 15:17:25 +03:00
Marko Viitanen cd6be15e10 Fix context init to match VTM6.0 2019-08-19 13:57:31 +03:00
Marko Viitanen e644b03615 Fix headers to match VTM6.0rc1 2019-08-16 15:33:20 +03:00
Marko Viitanen 2e8a0d08f9 Fix mvp_idx_model initialization and use 2019-07-05 14:11:29 +03:00
Marko Viitanen 3fad4b0a98 Disable kvz_cabac_encode_aligned_bins_ep for now and add a ToDo message 2019-07-03 15:44:35 +03:00
Sami Ahovainio 3863064d90 Fixed bugs in split decision and coefficient coding. 2019-07-01 13:00:43 +03:00
Sami Ahovainio db5c0230e5 Fixed coefficient sign hiding 2019-06-20 16:26:01 +03:00
Sami Ahovainio b51254cafd Fixed significant coefficient group context calculation 2019-06-20 15:47:13 +03:00
Sami Ahovainio 5e0bea962c Fixed split context decision 2019-06-20 15:30:49 +03:00
Sami Ahovainio 3a9800d07d Fixed coefficient coding. Fixed headers to match VTM commit e65075531471a68632bc9252d607655a0feeabc6 2019-06-20 14:43:03 +03:00
Sami Ahovainio 2c78aa0642 Fixes to coeff coding. 2019-06-13 12:01:29 +03:00
Sami Ahovainio 3564b4829e Fixed split context decision. Modified intra mode initialization to match VTM version aa76fc5c04cf43390f43d63f9977bea8ee31997a. 2019-06-12 12:59:16 +03:00
Sami Ahovainio a8a53e15b5 Fixed headers to match VTM commit aa76fc5c04cf43390f43d63f9977bea8ee31997a. Added multi_ref_line flag coding. 2019-06-07 13:37:45 +03:00
Sami Ahovainio 8d2581e58c Fixed issue with kvz_go_rice_par_abs where passing a unsigned argument caused MIN function to return wrong value. Modified coefficient coding to match VTM 5.0. Some issues still remain. 2019-06-05 15:57:18 +03: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
Sami Ahovainio ed4e218702 Updated coefficient coding to match VTM 5.0 2019-05-13 15:30:43 +03:00
Marko Viitanen 30a8a7b97c WIP fixing the last significant xy coding 2019-05-07 15:01:02 +03:00
Marko Viitanen 3bdc8ac8d3 Fix intra_chroma_pred_mode and cbf contexts 2019-03-26 09:10:09 +02:00
Marko Viitanen d15f58517f Changed intra coding to use 6 MPM, implemented merge sort and MPM selection 2019-03-20 15:20:31 +02:00
Marko Viitanen 80d6e4bf05 New split flag calculations 2019-03-20 09:07:58 +02:00
Eemeli Kallio 8f8e7bb53c Added possibility to reduce number of maximum number of merge candidates. 2019-02-12 09:21:03 +02:00
Pauli Oikkonen f186455619 Move encode_last_significant_xy out of strategy modules
It's the exact same in both AVX2 and generic, and does not seem to
be worth even trying to vectorize
2019-02-04 14:55:41 +02:00
Pauli Oikkonen c3a6f3112a Add generic strategy group for encode_coding_tree 2018-12-18 19:41:09 +02:00
Marko Viitanen e015d7eb2b Fix compiler warnings 2018-10-17 10:43:11 +03:00
Marko Viitanen 7c37f456f9 Fix implicit Qt split for p-frames 2018-09-26 12:00:18 +03:00
Marko Viitanen a437d4c508 Fixed intra chroma mode bitstream writing (chroma search not used) 2018-09-13 15:05:00 +03:00
Marko Viitanen 82de0fbee7 Switch intra search to use the actual 67 modes 2018-09-13 09:43:45 +03:00
Marko Viitanen 4aad2fa383 Fix intra mode writing 2018-09-12 10:34:58 +03:00