Commit graph

4584 commits

Author SHA1 Message Date
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 d2c24c9a0c [mip] Fix error in deriving MIP flag context id. 2022-02-09 12:55:17 +02:00
siivonek 8aea4f67f7 [mip] Fix reference indexing error. 2022-02-09 12:55:17 +02:00
siivonek b8a8bce55a [mip] Fix MIP bit cost calculation. 2022-02-09 12:55:17 +02:00
siivonek 55e4091030 [mip] Fix MIP cabac write. 2022-02-09 12:55:16 +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 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 2daa8ad537 [mip] Implement cabac write. 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 0b9568b466 Re-add debug files to project file filters. Makefile spaces to tabs. 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
siivonek 07d78e07a6 [mip] Add defines. 2022-02-09 12:55:15 +02:00
siivonek e7da0712e5 [mip] Add commandline option for MIP. 2022-02-09 12:55:15 +02:00
Ari Lemmetti 917d26f1bf Unify delta QP / ROI map functionality. 2022-02-08 20:15:27 +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 57d8623931 [Deblock] Fix B-frame detection 2021-12-30 16:18:43 +02:00
Jaakko Laitinen fe9d673b2a [Deblock] Fix Luma issue
mvdThreashold set incorrectly
2021-12-29 17:26:00 +02:00
Marko Viitanen 67ba444884 Add initial .clang-format 2021-12-27 16:05:22 +02:00
Ari Lemmetti 96b00ff528 Merge branch 'rework-inter-search' 2021-12-15 17:16:10 +02:00
siivonek 4ffef711d7 Merge branch 'intra_mrl_cost' 2021-12-15 15:51:19 +02:00
Marko Viitanen 5358e9f3e3 Merge branch 'thread_dep_fixes' 2021-12-15 10:48:24 +02:00
Marko Viitanen 2545081be5 [threading] Added more margin to fracmv_within_tile() because of nondeterministic behaviour 2021-12-14 11:16:43 +02:00
Marko Viitanen 2cdeff75cb [debug] Add debug.c/.h to visual studio project and some debugging options 2021-12-14 11:15:35 +02:00
Joose Sainio 6c50939af3 Different roi-matrix for each frame
Implement reading the roi-matrix for each frame from binary file. Extremely simple and breaks on any unhappy paths.

# Conflicts:
#	src/cfg.c
#	src/cli.c
#	src/encoder.c
#	src/image.c
#	src/rate_control.c
2021-12-12 22:13:05 +02:00
Jaakko Laitinen 77457391b4 [Deblock] Refactor deblock pixel gather
Refactor deblock pixel gather for large blocks to be less confusing.
2021-12-10 19:05:43 +02:00
Marko Viitanen dce5c2b293 [threading] Add dependency to one more CTU to the right
* in VVC the conditions for limiting motion vectors might not have been correct
 * x + 1 and y + 1 CTU dependency did not mean that x + 2 would be available, as in HEVC
2021-12-10 16:07:34 +02:00
Jaakko Laitinen 60119ca3fa [CI] Enable Deblock in slice tests 2021-12-10 15:40:39 +02:00
Jaakko Laitinen 9a67e622f5 [CI] Enable Deblock in tests 2021-12-10 15:30:48 +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
Ari Lemmetti 51dd942778 Fix uninitialized fields of CU/PU infos. 2021-12-10 00:32:08 +02:00
Ari Lemmetti 2424a976a4 Prevent using uninitialized memory 2021-12-10 00:21:58 +02:00
Ari Lemmetti e45c6a9c68 Fix too few added keys in inter search stats.
The function search_pu_inter_bipred may add more PUs than there are reference pictures.
2021-12-10 00:03:37 +02:00
siivonek 236265a1f4 [mrl] Implement MRL bitcost calculation. 2021-12-09 16:43:25 +02:00
Ari Lemmetti a1a7036445 Fix indexing. Get rid of warning about jump depending on uninitialized value. 2021-12-08 23:06:39 +02:00
Ari Lemmetti bb1f2a0895 Reorder condition to prevent indexing past the array 2021-12-08 21:13:25 +02:00
Ari Lemmetti e87b12dec1 Move mv_cand initialization to better place 2021-12-08 21:09:16 +02:00
Ari Lemmetti f17a500b77 Get rid of warnings. (Unused variables, suggested parentheses) 2021-12-08 21:06:12 +02:00
Ari Lemmetti c411e65977 Prevent FME and bipred from the same reference picture if present in L0 and L1 2021-12-08 20:35:03 +02:00
Ari Lemmetti 49935710a8 Only one ME per reference picture (same ref in L0 and L1) 2021-12-08 16:35:47 +02:00
Ari Lemmetti ae498553c0 Add define MAX_UNIT_STATS_MAP_SIZE. Add assertions to inter search. 2021-12-08 15:53:31 +02:00
siivonek dea3ca12aa Merge branch 'intra_mrl' 2021-12-08 15:51:50 +02:00
Ari Lemmetti 1af90b194e Add missing bits to RD costs. 2021-12-08 15:34:05 +02:00