Commit graph

4467 commits

Author SHA1 Message Date
Marko Viitanen fad11a5c92 [LMCS] Import LMCS chroma functions from VTM13.0 2021-06-01 09:01:55 +03:00
Marko Viitanen 28595ed1cf Update website to ultravideo.fi and IRC support channel to #ultravideo at Libera.Chat 2021-05-28 16:00:36 +03:00
Joose Sainio c548c2ccca Merge branch '4x4-rd' into 'master'
Transform skip and improve 4x4 rd

See merge request cs/ultravideo/vvc/uvg266!4
2021-05-28 11:57:23 +00:00
Joose Sainio f9de8ebc4f Merge branch 'master' into '4x4-rd'
# Conflicts:
#   src/encoder.c
#   tests/test_intra.sh
2021-05-28 11:43:55 +00:00
Marko Viitanen d945ee5d7f Merge branch 'lmcs' 2021-05-28 11:33:25 +03:00
Marko Viitanen ddea6d73c9 [LMCS] Fix blank references in some cases by selecting between source_lmcs and source in init_lcu_t() 2021-05-28 10:57:25 +03:00
Marko Viitanen 96a12d9830 Disable SPS extension writing if they are not used -> compatible with VTM 11 and 13 2021-05-28 10:17:19 +03:00
Marko Viitanen 1bbe1204e4 [LMCS] set ph_lmcs_enabled_flag according to the sliceReshaperEnableFlag 2021-05-27 16:09:34 +03:00
Marko Viitanen 4ea9bee0b6 Add rrc_rice extension flags to make bitstream correct with VTM 13.0 and update the CI VTM binary 2021-05-27 11:37:07 +03:00
Marko Viitanen 5aa04035d8 [LMCS] Fix a bug where floor_log2 function is used with 0 value 2021-05-27 08:39:58 +03:00
Joose Sainio 2df94f6a17 Fix rd=3 2021-05-27 08:39:41 +03:00
Marko Viitanen 9231ed4869 [LMCS] Update kvz_lmcs_preanalyzer inter side from VTM 2021-05-26 18:01:57 +03:00
Marko Viitanen d040a4238c [LMCS] Allocate LMCS images with the config flag since the actual enabled flag is checked later 2021-05-26 17:16:45 +03:00
Marko Viitanen bb12894575 [LMCS] Always allocate the LMCS APS struct to simplify things 2021-05-26 17:01:19 +03:00
Marko Viitanen a5ff9284a8 [LMCS] Enable LMCS per slice according to the pre-analyzer 2021-05-26 16:48:57 +03:00
Marko Viitanen be9776e40f Fix a bug causing tmvp related flag being written on intra frames 2021-05-26 14:31:34 +03:00
Marko Viitanen e9044bfbc5 [LMCS] free source_lmcs and rec_lmcs in encoder_state_encode (as done with normal source and rec) 2021-05-25 17:42:34 +03:00
Marko Viitanen 1b8c8b2c68 [LMCS] Add execute permission for test_lmcs.sh 2021-05-25 15:47:23 +03:00
Marko Viitanen 2892fd7d05 [LMCS] separate the LMCS tests to test_lmcs.sh 2021-05-25 15:35:14 +03:00
Marko Viitanen 3dae3f072e [LMCS] Actually allocate the source_lmcs and rec_lmcs 2021-05-25 14:27:21 +03:00
Marko Viitanen e5684b0be1 [LMCS] Free rec_lmcs and source_lmcs in kvz_encoder_prepare 2021-05-25 14:04:06 +03:00
Marko Viitanen c080595597 Reduce the number of tests under test_intra.sh 2021-05-25 11:47:46 +03:00
Marko Viitanen 252d5c7eaf [LMCS] Add top-level indicator for LMCS to know when we can free the images 2021-05-25 11:00:46 +03:00
Marko Viitanen c69d456040 [LMCS] Fix memory leak and remove debug printing 2021-05-24 22:23:45 +03:00
Marko Viitanen 6eea317ec9 [LMCS] Add LMCS test under test_intra.sh 2021-05-24 20:22:36 +03:00
Marko Viitanen dbc7fd48bf [LMCS] Initialize some m_reshapeCW values to avoid division by zero 2021-05-24 18:57:37 +03:00
Marko Viitanen 1def1b3c52 [LMCS] Add reshape.c/.h to visual studio project 2021-05-24 18:02:38 +03:00
Marko Viitanen 73ac3b68bf [LMCS] add missing header in quant-avx2.c 2021-05-24 17:25:38 +03:00
Marko Viitanen 4cd5bc38a1 [LMCS] Luma mapping working after some rework, have to keep the reconstruction in the mapped domain 2021-05-24 17:23:17 +03:00
Marko Viitanen 88bec75306 [LMCS] keep the original reference data intact and keep lcu.rec in LMCS domain 2021-05-20 16:40:49 +03:00
Marko Viitanen 9b986c5359 [LMCS] fix division by zero 2021-05-20 16:38:46 +03:00
Marko Viitanen 3516972237 [LMCS] Move LMCS mapping / inverse to the source LCU data 2021-05-18 21:22:22 +03:00
Marko Viitanen c6746b709c [LMCS] Use calloc for lmcs_aps, makes it behave deterministic 2021-05-18 16:27:07 +03:00
Joose Sainio cfd7d2666b slightly optimize intra-generic.c 2021-05-14 10:23:37 +03:00
Marko Viitanen ced10603c8 [LMCS] Add a test for LMCS 2021-05-12 14:17:34 +03:00
Marko Viitanen 178d62bde3 [LMCS] Move LMCS data structures under the frame 2021-05-12 11:42:34 +03:00
Joose Sainio 34fddeb85d Re-enable LUMA_MULT and CHROMA_MULT 2021-05-07 14:20:48 +03:00
Joose Sainio 132a8b3d96 Try to fix rd=0 for 4x4 blocks 2021-05-07 09:30:12 +03:00
Marko Viitanen f36c4e71ed [LMCS] Fix source_lmcs and rec_lmcs deallocation 2021-05-06 13:15:39 +03:00
Marko Viitanen d2670ccdc8 [LMCS] Create separate pictures for LMCS mapped pixels 2021-05-05 13:28:39 +03:00
Marko Viitanen 703cb155cb [LMCS] Disable aps_chroma_present_flag -> decoded with hash mismatch 2021-05-04 16:54:14 +03:00
Marko Viitanen e2ebfc946a [LMCS] Free lmcs_aps in correct place 2021-05-04 16:44:05 +03:00
Marko Viitanen 73908b5237 [LMCS] Run the reshaper contruction and fix an assert 2021-05-04 15:48:01 +03:00
Marko Viitanen d5abc3eb17 [LMCS] fix ReshapeCW.binCW array size 2021-05-04 12:17:59 +03:00
Marko Viitanen 19a3274770 [LMCS] Enable initial LMCS processing and APS writing 2021-05-04 12:04:22 +03:00
Joose Sainio 12d1d8b977 [tranform-skip] Enable transform skip in RDOQ test 2021-05-03 12:53:07 +03:00
Joose Sainio 7674e94fd1 [rdoq] transform skip RDOQ
Copy the implementation from VTM
2021-05-03 12:52:10 +03:00
Marko Viitanen 69c1c3f4ea [LMCS] Add kvz_construct_reshaper_lmcs and related functions 2021-05-03 09:13:53 +03:00
Marko Viitanen 3fadd91fb5 [LMCS] Add an assert in deriveReshapeParametersSDR to remove static analyser warning 2021-04-30 16:41:06 +03:00
Marko Viitanen 915057c0c5 [LMCS] Replace some dynamic arrays with static 2021-04-30 16:37:00 +03:00