siivonek
2e8f008de4
[isp] Redo call hierarchy to include x, y coordinates.
2023-08-14 12:17:24 +03:00
siivonek
39f30563c5
[isp] Fix chroma width error when writing cu loc. Remove redundant IPS mode checks.
2023-08-14 12:16:42 +03:00
siivonek
56ebea7358
[isp] Set cbfs for isp splits after search. Add helper function for isp split number.
2023-08-14 12:16:40 +03:00
siivonek
bbb8faea98
[isp] Modify encode transform coeff func to handle non-square blocks, use cu_loc_t where possible. Fix mistake in mts idct generic.
2023-08-14 12:16:38 +03:00
siivonek
7062697beb
[isp] Resolve TODOs. Make scan order tables const.
2023-08-14 12:16:37 +03:00
siivonek
f8641f7436
[isp] Fix assert. Implement coef cost calculation for isp splits.
2023-08-14 12:16:35 +03:00
siivonek
031a758d6c
[isp] Count isp cbfs.
2023-08-14 12:16:01 +03:00
siivonek
8d914ce849
[isp] Implement coefficient encoding for isp splits. Make get_split_dim non static, it was needed elsewhere after all.
2023-08-14 12:15:59 +03:00
siivonek
573ecf80e3
[isp] Move can_use_lfnst_with_isp to intra.c. Remove duplicate functions. Move isp related functions from search to intra. Make isp_split_dim static. Move isp related defines from search to intra.
2023-08-14 12:15:58 +03:00
siivonek
318d925028
[isp] Add new convert_to_log2 table. Change all instances which used old convert_to_bit table to change dimensions into log2.
2023-08-14 12:15:55 +03:00
siivonek
06532dce02
[isp] Implement ISP search and partitioning. Add helper function for constructing cu_loc types. WIP stuff for transform.
2023-08-14 12:15:40 +03:00
siivonek
ec4909095c
[isp] Do not filter references if ISP is used.
2023-08-14 12:15:38 +03:00
siivonek
96df3ffd64
[isp] Change function calls to cu_loc_t.
2023-08-14 12:15:38 +03:00
siivonek
9406c5c31d
[isp] Modify generic intra pred functions to handle non-square blocks.
2023-08-14 12:15:37 +03:00
Joose Sainio
b4ab9debf1
[lfnst] fix lfnst with cclm
2022-06-28 15:32:34 +03:00
Joose Sainio
a0dd412811
[cclm] fix cclm bound calculation
2022-06-28 15:32:32 +03:00
Joose Sainio
75e500da10
[lfnst] LFNST working with dual tree
2022-06-28 15:32:32 +03:00
Joose Sainio
345c50ecee
[dual-tree] rename kvz_ to uvg_
2022-06-28 15:32:30 +03:00
Joose Sainio
b8215baa30
[dual-tree] Fix CCLM+dual tree
2022-06-28 15:32:30 +03:00
Joose Sainio
ed8496e57e
[dual-tree] Matches except for cutoff bottom CTUs for forced depth=1
2022-06-28 15:32:28 +03:00
Joose Sainio
abd00d04a1
[dual-tree] Still not working but bitstream valid
2022-06-28 15:32:28 +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
835b7fa736
[test] Add capability for testing the consistency of the cabac state
2022-06-28 15:28:06 +03:00
Joose Sainio
6d080b215c
[intra] WIP: improve search
2022-06-28 15:22:20 +03:00
Pascal Massimino
055b813bb3
Fix several compile errors:
...
src/search_inter.c:1210: implicit conversion from 'int' to 'int16_t'
was truncating constants.
src/intra.c:511: const qualifier discarded
2022-06-09 17:49:59 +02:00
Joose Sainio
153afc6739
Merge branch 'improve-intra-search'
2022-05-30 13:35:46 +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
f4dc3ab43b
Fix jccr and chroma mode search
2022-04-15 11:39:18 +03:00
Joose Sainio
abcf2a12b8
Fix setting chroma mode to planar for mip pus
2022-04-15 11:39:17 +03:00
Joose Sainio
6aa8240db0
Fix test_external_symbols
2022-04-15 11:39:16 +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
00acf661cf
WIP: intra prediction generation from a singular function
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
57cd9bd97e
minor fixes
2022-03-31 12:11:33 +03:00
Joose Sainio
99ddc209fc
Fix cclm when tiles are enabled
2022-03-25 10:20:44 +02:00
Joose Sainio
2050de8891
Fix cclm prediction generation for depth 0
2022-03-25 08:54:31 +02:00
Joose Sainio
a88553b206
fix jccr and improve intra parameter passing
2022-03-24 11:11:33 +02:00
Joose Sainio
0dd7646a34
Fix mip context calculation for P and B slices
2022-03-10 10:48:37 +02:00
siivonek
fa963234a8
[mip] Fix CI error. Const modifier in wrong place.
2022-02-16 17:14:26 +02:00
siivonek
9b04a6f302
[mip] Combine mip mode search loop into the original intra mode search loop. Some code clean up.
2022-02-15 11:24:01 +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
09f3af81c6
[mip] Improve mip flag context function.
2022-02-10 00:41:20 +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
e8ef0d2b28
[mip] Fix undefined behaviour error in CI test.
2022-02-09 12:55:17 +02:00
siivonek
fcde90fbe0
[mip] Change kvz_pixel to int inside MIP implementation since some temp values could be negative. Add define for intra reference line length. Fix bug where wrong intra mode was passed to recon after search.
2022-02-09 12:55:17 +02:00
siivonek
df5cbbe82f
[mip] Fix issue with invalid MIP modes written into cabac. Fix Mip mode cost estimation. Implement function to derive mip flag context id. Fix some asserts. Replace floor log 2 implementation with existing kvz math function.
2022-02-09 12:55:17 +02:00
siivonek
8aea4f67f7
[mip] Fix reference indexing error.
2022-02-09 12:55:17 +02:00
siivonek
0cf89e9516
[mip] Fix CI errors.
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
siivonek
e672f9b24a
[mip] Implement MIP functions.
2022-02-09 12:55:15 +02:00
siivonek
cb2ccce753
[mip] WIP Implement mip functions.
2022-02-09 12:55:15 +02:00
siivonek
3bbef3dff6
[mip] Add mip weight matrices.
2022-02-09 12:55:15 +02:00
siivonek
746ae8ab85
[mip] WIP Implement mip functions.
2022-02-09 12:55:15 +02:00
Marko Viitanen
c6b9e19b2f
[mrl] Fix kvz_intra_build_reference_inner() top reference building for mrl
2021-12-08 15:00:27 +02:00
Marko Viitanen
05e55f7fea
[mrl] Simplify and fix kvz_intra_build_reference_inner() for mrl cases
2021-12-08 14:39:47 +02:00
Marko Viitanen
04cb32be91
[mrl] Use kvz_intra_build_reference_inner() with MRL since WPP fixes have been made there
2021-12-08 11:39:20 +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
siivonek
54505e0250
[mrl] Fix warnings.
2021-11-29 20:55:39 +02:00
siivonek
675e8b2d83
[mrl] Fix extra reference length in LCU bottom edge. Disable trace origins in valgrind test.
2021-11-29 17:11:41 +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
b83d7687dc
Fix assert.
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
0dc25b86e2
Fix invalid memory read.
2021-11-29 17:11:40 +02:00
siivonek
9cce86ff61
Fix MRL behaviour on left LCU edge. Pass additional left edge reference buffers to reference building for MRL.
2021-11-29 17:11:39 +02:00
siivonek
ddd0474c21
Fix filter error in block reconstruction when MRL is used. Disable PDPC during block reconstruction if MRL is used. Fix error in reference building.
2021-11-29 17:11:39 +02:00
siivonek
231c6f3e72
Fix top left reference building.
2021-11-29 17:11:39 +02:00
siivonek
54646e7be7
Disable intra reference filtering if MRL is used.
2021-11-29 17:11:39 +02:00
siivonek
eb32f40bd9
Another fix for reference building.
2021-11-29 17:11:39 +02:00
siivonek
b0a4f3345a
Fix top left reference building when MRL enabled. Fix reference line extension when MRL enabled.
2021-11-29 17:11:38 +02:00
siivonek
c616d3bf8a
Fix the inner case of reference building when MRL is used.
2021-11-29 17:11:38 +02:00
siivonek
a2a1a2a1a8
Fix mistakes in MRL related reference building.
2021-11-29 17:11:38 +02:00
siivonek
54e5a2181d
[mrl] Fix rebase mistake. Disable use of PDPC if MRL is used.
2021-11-29 17:11:28 +02:00
siivonek
511ce4991b
[mrl] Pass multi_ref_idx to generic angular and DC prediction funcs. Fix some outdated comments.
2021-11-29 17:02:27 +02:00
siivonek
ea04feaaca
Add MRL handling to reference building.
2021-11-29 16:59:55 +02:00
Marko Viitanen
3fda2dd6c8
[cleanup] Fix some warnings
2021-11-29 16:31:09 +02:00
Joose Sainio
ce175c503f
[cclm] remove unnecessary calculation of the downsample luma reference
2021-11-26 08:12:37 +02:00
Joose Sainio
85ff5f23b1
[cclm] Fix accessing elements beyond the CU array
...
# Conflicts:
# src/intra.c
2021-11-26 08:12:25 +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
d9875a3d92
[cclm] fix trying cclm on the upper level
2021-11-26 08:11:54 +02:00
Joose Sainio
7187678526
[cclm] Only do cclm search when it is enabled and add test for cclm
2021-11-26 08:11:53 +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
Joose Sainio
91877ef2c4
[cclm] fix condition for selecting the data from frame buffer and not ctu
2021-11-26 08:09:54 +02:00
Joose Sainio
ecc55c9edf
[cclm] align ref pixel generation code and add comments
2021-11-26 08:09:53 +02:00
Joose Sainio
677bf1edcb
[cclm] linear transform
2021-11-26 08:09:53 +02:00
Joose Sainio
4e8c9043a1
[cclm] CCLM parameter calculation *should* work correctly
2021-11-26 08:09:53 +02:00
Joose Sainio
93c02644c8
[cclm] WIP fix parameter calculation and add calling to the functions
2021-11-26 08:09:53 +02:00
Joose Sainio
ef5a205faa
[cclm] WIP: initial implementation of the cclm parameter calculation function
2021-11-26 08:09:52 +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
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
Ari Lemmetti
c6b33c7b92
[SIMD] Move PDPC condition out of strategy
2021-09-06 21:20:51 +03:00
Ari Lemmetti
46cf9b6871
[SIMD] Make strategy out of PDPC for planar and DC
2021-09-06 21:20:51 +03:00
Joose Sainio
3a73abd264
[jccr] disable jccr for blocks when tr-depth != depth, i.e. 64×64
2021-09-06 11:28:32 +03:00
Joose Sainio
072b84711a
[jccr] fix 64×64 CUs
2021-09-06 11:28:20 +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