Commit graph

4347 commits

Author SHA1 Message Date
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
Ari Lemmetti 706d718d5d Perform FME for n best PUs from L0 and L1. 2021-12-08 15:34:05 +02:00
Ari Lemmetti 7f7112cc57 Use up-to-date value of mv dir for bit cost calculations 2021-12-08 15:34:04 +02:00
Ari Lemmetti 4e19f7b71e Move mode decision logic and current PU setting to higher-level functions 2021-12-08 15:34:04 +02:00
Ari Lemmetti 3e967c0077 Add missing assertion and set cu before 2021-12-08 15:34:04 +02:00
Ari Lemmetti bdece66dc4 Compare the final costs only once and then set the current CU 2021-12-08 15:34:04 +02:00
Ari Lemmetti 0b223b24f2 Fix comment 2021-12-08 15:34:03 +02:00
Ari Lemmetti 4d02b69c4e Set CU type in inter search functions 2021-12-08 15:34:03 +02:00
Ari Lemmetti 2b9b398524 Remove now unnecessary state store/restore 2021-12-08 15:34:03 +02:00
Ari Lemmetti 3a219146ed Rename some variables 2021-12-08 15:34:03 +02:00
Ari Lemmetti dc4676eef1 Remove merge attempts from bipred functions 2021-12-08 15:34:03 +02:00
Ari Lemmetti adb31ce959 Use the new struct for bipred refinement as well 2021-12-08 15:34:02 +02:00
Ari Lemmetti 70a393a3dc Set mv candidates before cost calculations for bipred. Use the new struct for bipred. 2021-12-08 15:34:02 +02:00
Ari Lemmetti 574d6c4593 Eliminate copy-paste logic from different ME algorithms. 2021-12-08 15:34:02 +02:00
Ari Lemmetti d28c2295dc The best_* fields are no longer used to track anything. Convert costs to double. 2021-12-08 15:34:02 +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 5edb82648a More intuitive logic for computing RD costs and bit costs for SMP 2021-12-08 15:34:01 +02:00
Ari Lemmetti aca9192054 Move cu_info_t initializations to search_pu_inter. Rename cur_cu cur_pu. 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
Ari Lemmetti 94096dd175 Ignore merge candidates when computing AMVP motion vector costs. 2021-12-08 15:34:00 +02:00
Ari Lemmetti 48773b0d25 Replace and relocate deprecated cost and mode parameter tracking. 2021-12-08 15:34:00 +02:00
Ari Lemmetti 1940f0880f Add amvp unipredictions to both lists if reference picture is present 2021-12-08 15:33:57 +02:00
siivonek 64e6eb1f28 [mrl] Clean old commented mrl code. 2021-12-08 15:21:43 +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 0dcd6dbec0 [mrl] Fix kvz_angular_pred_avx2() for mrl and enable cpuid in CI 2021-12-08 14:48:44 +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
Marko Viitanen 010a16bb8a Merge branch 'trskip_changes' 2021-12-07 12:07:54 +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
Marko Viitanen f953aefa37 [CI] Add a test for transform skip up to 32x32 block 2021-12-03 19:41:01 +02:00
Marko Viitanen f501465e8d [debug] Add yuview debug output for transform skip 2021-12-03 19:38:50 +02:00
Marko Viitanen 545fc305e7 [cleanup] Remove unused variables in trskip coding functions 2021-12-03 17:23:19 +02:00
Marko Viitanen 46af1536ee [trskip] Signal sig coeff group correctly for the transform skip when blocksize > 4x4 2021-12-03 17:17:06 +02:00
Marko Viitanen fe7aff90b7 [mts] Signal MTS with inter blocks 2021-12-03 11:00:07 +02:00
Marko Viitanen 1dd378e851 [cleanup] Remove deprecated width and height parameters and other small changes
* change some mentions of Kvazaar to uvg266
  * remove cfg.framerate
2021-12-02 23:09:40 +02:00
Marko Viitanen 3a447e09c2 [trskip] Allow changing the max tr-skip size 2021-12-02 22:56:07 +02:00
Ari Lemmetti 2ed434e57b Remove now deprecated array 2021-12-02 20:00:19 +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