Joose Sainio
55a0e35892
[lfnst] Count lfsnt bits
2022-06-28 15:29:41 +03:00
Joose Sainio
3da4a313ce
Fix rebase mistakes
2022-06-28 15:29:25 +03:00
Joose Sainio
882b00068b
[intra] Perform intra chroma search before the mode is selected
2022-06-28 15:29:20 +03:00
Joose Sainio
4dba21ea54
[jccr] Remove select_jccr_mode function
2022-06-28 15:29:11 +03:00
Joose Sainio
658d639f8b
[jccr] Chroma tr_search for inter
2022-06-28 15:29:05 +03:00
Joose Sainio
489876b9c7
[tr-skip] Add cmdline option for chroma transform skip
2022-06-28 15:28:47 +03:00
Joose Sainio
3afff7940c
[jccr] update tr-skip context for jccr blocks
2022-06-28 15:28:40 +03:00
Joose Sainio
c7a7a4719a
[debug] remove debug prints
2022-06-28 15:28:29 +03:00
Joose Sainio
835b7fa736
[test] Add capability for testing the consistency of the cabac state
2022-06-28 15:28:06 +03:00
Joose Sainio
fbd5911aa9
[tr-skip] Update tr_skip context for chroma & count bits
2022-06-28 15:27:30 +03:00
Joose Sainio
f056178e80
[jccr] Chroma transform search kinda working
2022-06-28 15:27:21 +03:00
Joose Sainio
03246c031e
[cabac] Fix trskip writing
2022-06-28 15:26:19 +03:00
Joose Sainio
c11e30fdb4
[mts] get mts constraints for bit counting
2022-06-28 15:26:11 +03:00
Joose Sainio
81df3ef2e0
[mts] Reset mts constraints
2022-06-28 15:25:21 +03:00
Joose Sainio
2f5fd05f88
[intra] fix warnings
2022-06-28 15:25:09 +03:00
Joose Sainio
418c65cbf1
[intra] count mts and tr_skip bits
2022-06-28 15:25:01 +03:00
Joose Sainio
4c66561ebe
[debug] Temporarily move split flag counting
2022-06-28 15:24:32 +03:00
Joose Sainio
8c939c1405
[intra] Fix chroma cbf counting for 4x4
2022-06-28 15:24:25 +03:00
Joose Sainio
09832c3c85
[intra] fix various things
2022-06-28 15:24:02 +03:00
Joose Sainio
1b3885d5be
[intra] Chroma working
2022-06-28 15:23:36 +03:00
Joose Sainio
0575c9c592
[intra] Fix warnings
2022-06-28 15:23:25 +03:00
Joose Sainio
6d080b215c
[intra] WIP: improve search
2022-06-28 15:22:20 +03:00
siivonek
2975b1fef0
[lfnst] WIP Implement lfnst search. Resolve some TODOs.
2022-06-28 15:20:40 +03:00
siivonek
e11fd3154d
[lfnst] Implement cabac write.
2022-06-28 15:20:36 +03:00
Marko Viitanen
fb17bbc1ca
[cleanup] Fix MSVC warnings about type conversion and signed/unsigned comparison
2022-06-18 13:43:16 +03:00
Joose Sainio
153afc6739
Merge branch 'improve-intra-search'
2022-05-30 13:35:46 +03:00
Marko Viitanen
4005b9da4b
[cleanup] Remove mentions of SMP and AMP from the documentation and code
2022-04-29 15:10:43 +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
0381d7d779
Move 4x4 chroma tu info to bottom right cu when intra is split into 4x4
2022-04-21 09:46:54 +03:00
Joose Sainio
b413aa5c43
Improve jccr search
2022-04-20 09:31:34 +03:00
Joose Sainio
f4dc3ab43b
Fix jccr and chroma mode search
2022-04-15 11:39:18 +03:00
Joose Sainio
88c01b6d32
Fix warnings/errors
2022-04-15 11:39:16 +03:00
Joose Sainio
b093248ca7
Maybe working for regular intra search
2022-04-15 11:39:16 +03:00
Joose Sainio
f7563076cb
WIP
2022-04-15 11:39:15 +03:00
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
Ari Lemmetti
ec2f4e0bac
Use double for RD costs in most places
2021-12-02 20:00:15 +02:00
Joose Sainio
f1f0033bf5
Add a cli option to control whether intra cus are tried to combine on the lower depth when search for said depth is disabled
2021-12-02 10:52:29 +02:00
siivonek
a0cfb625be
[mrl] Fix extra ref line length. Fix error where un-initialized ref line index was passed.
2021-11-29 17:11:40 +02:00
siivonek
65cf515070
Fix MRL to work when inter coding is enabled.
2021-11-29 17:11:40 +02:00
siivonek
a5dc2a3ce1
Disable MRL when copying best mode from top left CU.
2021-11-29 17:02:26 +02:00
Marko Viitanen
e662a2747b
Merge branch 'tile_fixes'
2021-11-26 14:30:05 +02:00
Joose Sainio
385e91399a
[intra rdo] Raise maximum rd level to 4
...
Separate the rd option for chroma intra mode search from the full intra
mode search, i.e., rd=3 enables chroma mode search and rd=4 enables full
intra mode search.
2021-11-26 08:12:37 +02:00
Joose Sainio
80ddb60ccf
[cclm] fix cclm when deblocking is enabled
2021-11-26 08:12:25 +02:00
Joose Sainio
f030158703
[cclm] Fix search and parameter generation for CCLM
2021-11-26 08:12:17 +02:00
Joose Sainio
70f6afff4f
[cclm] Search should be working
...
still has duplicate code and inefficiencies, but the actual search *should*
be working.
2021-11-26 08:09:54 +02:00
Marko Viitanen
62250a692d
[tiles] Move HMVP from state->frame to state->tile->frame, so each tile has own lut
2021-11-25 20:21:13 +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
6944437e98
Disable top-right CU copy to LCU when WPP is used, since it's not available
2021-11-08 09:43:53 +02:00