Commit graph

568 commits

Author SHA1 Message Date
Joose Sainio e74ea38673 WIP: initial structs etc. 2022-04-15 11:39:15 +03:00
Joose Sainio 3532f7a938 Correct counting of jccr flag for inter pu rdo 2022-03-31 15:19:32 +03:00
Joose Sainio 6924497bae Fix jccr when inter is used 2022-03-31 14:59:22 +03:00
Joose Sainio df5bc0db4e Fix cclm when 64x64 is enabled 2022-03-30 10:10:02 +03:00
Joose Sainio 7ef25a23a9 Fix chroma cost calculation 2022-03-29 12:05:52 +03:00
Joose Sainio 5cd0554a7d fix correct chroma cost calculation 2022-03-28 14:08:35 +03:00
Joose Sainio 84e4fe6790 Fix broken things 2022-03-25 15:27:34 +02:00
Joose Sainio 0d7800c7f1 Use kvz_write_split_flag for all split flags during search 2022-03-25 13:56:03 +02:00
Joose Sainio 99ddc209fc Fix cclm when tiles are enabled 2022-03-25 10:20:44 +02:00
Joose Sainio b321015426 Use kvz_luma_mode_bits to count luma_mode_bits 2022-03-24 14:57:18 +02:00
Joose Sainio a88553b206 fix jccr and improve intra parameter passing 2022-03-24 11:11:33 +02:00
Joose Sainio 0be443d309 WIP: Merge remote-tracking branch 'remotes/kvz_github/master' into update-cabac-during-search 2022-03-21 11:03:46 +02:00
Joose Sainio e39fbb11a7 Disable bit calculations that always degrade quality 2022-03-18 08:28:32 +02:00
Joose Sainio 352d6750f5 Remove instrumentation code 2022-03-18 08:28:32 +02:00
Joose Sainio d1ba62aea9 Better inter bit_costs for rdo < 2 2022-03-18 08:28:31 +02:00
Joose Sainio d720305fea Don't double count some of the bits 2022-03-18 08:28:31 +02:00
Joose Sainio 49c8334dd7 count skip flag 2022-03-18 08:28:30 +02:00
Joose Sainio 6d73db5a2a Probably correct RD cost calculation for all inter modes 2022-03-18 08:28:29 +02:00
Joose Sainio 5afd3570f6 Update cu_qt_root_cbf_model 2022-03-18 08:28:29 +02:00
Joose Sainio 5ed1ffb5d4 WIP: pre Christmas 2022-03-18 08:28:28 +02:00
Joose Sainio f83e21735c Fix couple of mistakes 2022-03-18 08:28:28 +02:00
Joose Sainio 243e45f07e accurate bit cost calculation when using transform skip 2022-03-18 08:28:28 +02:00
Joose Sainio a038ccc19a add back bitcost for 4×4 intra PUs 2022-03-18 08:28:27 +02:00
Joose Sainio 64b2806cc8 Add couple of missing bits to the calculation and get intra neighbours from lcu rather than cu_array 2022-03-18 08:28:27 +02:00
Joose Sainio aea1133e6a Function for mock coding a CU and counting the bits 2022-03-18 08:27:22 +02:00
Joose Sainio 4b8d217f2d Add new macro for potentially updating cabac context when obtaining the bit cost 2022-03-18 08:19:57 +02:00
Joose Sainio d8648fe1de Preparation for accurately counting inter bits 2022-03-18 08:19:57 +02:00
Joose Sainio 1fb69d5e22 Correct tr depth bit calculation 2022-03-18 08:18:04 +02:00
Joose Sainio de3a76d874 Correctly calculate bits for transform split, however updating is done incorrectly, but cannot be fixed easily unfortunately 2022-03-18 08:18:04 +02:00
Joose Sainio dacc15f33b Count pred mode bit 2022-03-18 08:18:03 +02:00
Joose Sainio d2299adb1c Disable bit debug code when VERBOSE is not defined and count bits when combining the intra cus 2022-03-18 08:18:03 +02:00
Joose Sainio 9ed8d0a7d9 count all non-tr-depth related bits correctly 2022-03-18 08:17:41 +02:00
Joose Sainio 53264bc764 Update cabac context during search
Create a separate cabac that is only used during the search. It should hold
the state that the actual cabac end after encoding said CU. Only implemented
for intra so far.

TODO: 4×4 PUs probably still have some problems
2022-03-18 08:17:41 +02:00
Joose Sainio d5e4e831f4 Preliminary code for outputting bit costs during the search 2022-03-18 08:17:41 +02:00
Joose Sainio 8ff1c51835 Merge branch 'combine-intra-option' 2022-03-18 07:59:39 +02:00
Joose Sainio 85d1a54adc Add cli option for forcing inter 2022-03-17 14:48:08 +02:00
siivonek ac45a5299c [mip] Add define for number of mip modes. Fix mip cost calculation. If mip is enabled, the cost of writing of mip flag must always be included. Some code cleanup. 2022-02-10 02:31:13 +02:00
siivonek 769703ea71 [mip] Fix mpm mode selection. When neighboring CU uses MIP, signaled intra mode must be planar. Fix chroma reconstruction when MIP is enabled. Only allow MIP to be used if chroma scheme is 444. Otherwise use planar mode. 2022-02-09 12:55:18 +02:00
siivonek b8a8bce55a [mip] Fix MIP bit cost calculation. 2022-02-09 12:55:17 +02:00
siivonek a4366dbcc5 [mip] Fix error which caused asan CI test to fail. Was caused by an uninitialized intra CU mip value. 2022-02-09 12:55:16 +02: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
Jaakko Laitinen 25a8a40de0 Merge branch 'deblock_fix' into 'master'
[Deblock] Fix deblock when using inter

See merge request cs/ultravideo/vvc/uvg266!8
2021-12-31 14:41:06 +02:00
Jaakko Laitinen 9e95b16368 [Deblock] Fix chroma deblocking issues when inter is enabled
Added cbf_copy() calls for chroma components in the lcu_fill_cbf() function since deblocking now uses that information for chroma as well.
2021-12-10 15:30:47 +02:00
siivonek 236265a1f4 [mrl] Implement MRL bitcost calculation. 2021-12-09 16:43:25 +02:00
Ari Lemmetti 9905cd42d6 Rename "indx" to "keys". There are too many "indices" already. 2021-12-08 15:34:01 +02:00
Ari Lemmetti 8406942d06 Improve the new data structure a bit. Use also for merge candidates. 2021-12-08 15:34:01 +02:00
siivonek 3a81a389c3 [mrl] Fix issues transmitting multi ref idx during search. Change multi ref idx type to uint. 2021-12-06 19:23:57 +02:00
Ari Lemmetti 90c0a708a7 Add new structs for storing statistics during the search. Use in AMVP search. 2021-12-02 20:00:19 +02:00