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