Commit graph

3519 commits

Author SHA1 Message Date
Arttu Makinen b17e26511f Removed/moved the last global variables from ALF. 2020-12-30 16:26:49 +02:00
Arttu Makinen f5556a5d69 Moved cabac_estimator from globals to alf_info_t. 2020-12-30 16:26:30 +02:00
Arttu Makinen ffdca81dca ALF frame buffer moved. 2020-12-30 16:26:22 +02:00
Arttu Makinen a3998450d0 Most of the remaining globals removed/moved. 2020-12-30 16:26:14 +02:00
Arttu Makinen 35233d2e17 Multiple global arrays placed in a struct of arrays.
Also g_ctb_distortion_unfilter and g_aps_id_start removed.
2020-12-30 16:25:54 +02:00
Arttu Makinen aed4d29c79 Continuation of removal/moving of ALF globals.
Removed/moved globals: g_ctu_enable_flag, g_ctu_alternative, g_ctu_enable_flag_tmp, g_ctu_alternative_tmp.
2020-12-30 16:25:40 +02:00
Arttu Makinen 335ce2bdda Moving ALF globals to alf_info struct inserted in videoframe_t.
g_alf_covariance and g_alf_covariance_frame moved.
2020-12-30 16:25:18 +02:00
Arttu Makinen 76cf8a16d9 Fixed couple of memory problem bugs. 2020-12-30 16:25:01 +02:00
Arttu Makinen 6f03c5dc68 Argument of ALF updated for Intra test. 2020-12-30 16:25:00 +02:00
Arttu Makinen 0914864300 Bug fix for reading alf type to cfg. 2020-12-30 16:24:59 +02:00
Arttu Makinen 9d56d6444d Removed filter shape/type from variables and functions.
Filter shape/type size was only used and was always defined as 1.
2020-12-30 16:24:50 +02:00
Arttu Makinen 218d5b51d3 Cleaning ALF code. 2020-12-30 16:24:24 +02:00
Arttu Makinen 420ee4cc21 Changed alf_enabled and alf_cc_enabled flags into one alf_type enum as in sao. 2020-12-30 16:23:56 +02:00
Arttu Makinen 2b62b91589 Added CC ALF parameter for encoding. 2020-12-30 16:22:02 +02:00
Arttu Makinen 0e74bfb2a8 CC ALF now works properly. 2020-12-30 16:22:01 +02:00
Arttu Makinen fc39b311bd Added fixing of pixels outside of the actual frame before CC ALF. 2020-12-30 16:22:01 +02:00
Arttu Makinen 99745c2e5a Added writing of CC ALF flag. Couple of bug fixes. 2020-12-30 16:22:00 +02:00
Arttu Makinen 1471448218 Bug fixes in derive_cc_alf_filter and get_blk_stats_cc_alf. 2020-12-30 16:22:00 +02:00
Arttu Makinen f7fe8d9a27 Added more CC ALF functions.
Currently not working.
2020-12-30 16:21:59 +02:00
Arttu Makinen 9ed5169919 Finished functions get_blk_stats_cc_alf and calc_covariance_cc_alf for CC ALF. 2020-12-30 16:21:29 +02:00
Arttu Makinen bf8bb62e50 Got rid of fair amount of global variables. 2020-12-30 16:21:28 +02:00
Arttu Makinen 7846796a4e Removed #define FULL_FRAME. 2020-12-30 16:20:25 +02:00
Arttu Makinen d03531e817 Enable ALF for IC intra test. 2020-12-30 16:19:58 +02:00
Arttu Makinen 7bfb1ca6b4 Removal of useless comments. 2020-12-30 16:19:57 +02:00
Arttu Makinen 529bdb4dd2 Modify APS header writing. 2020-12-30 16:19:47 +02:00
Arttu Makinen ee70bcfaec Fixing warnings. 2020-12-30 16:19:07 +02:00
Arttu Makinen d7eafc391f Fixing uninitialized parameters. 2020-12-30 16:18:24 +02:00
Arttu Makinen 36ffdcaf3f Disable output of debug stats. 2020-12-30 16:18:09 +02:00
Arttu Makinen 98768061db Adding CC ALF. 2020-12-30 16:18:08 +02:00
Arttu Makinen da04fffaec Updated the creating of ALF parameters and init for them. 2020-12-30 16:17:54 +02:00
Arttu Makinen bfa77e35c3 Fixed a bug where reconstruction for ALF was called multiple times for no reason.
Modified reconstruction of pixels after ALF search.
2020-12-30 16:17:43 +02:00
Arttu Makinen bd292dab16 Fixed coding of headers for inter coding with ALF. 2020-12-30 16:15:12 +02:00
Arttu Makinen 26dc5b8c4e Multiple APSs can now be signaled.
Can't test usage of multiple APSs properly because inter coding doesn't work.
2020-12-30 16:13:56 +02:00
Arttu Makinen 4ffb0b71a6 Chroma filtering works.
Also some code cleaning.
2020-12-30 16:13:25 +02:00
Arttu Makinen a95fd73668 At least one APS can be signaled.
Problem with APS was in encoder_state-bitstream.c.
Cleaning of code.
2020-12-30 16:12:56 +02:00
Arttu Makinen d7126520b2 Moving param_set_map from slices to cfg.
Bug fix in kvz_alf_encoder_ctb.
2020-12-30 16:12:38 +02:00
Arttu Makinen c55a2a04e8 Bug fix in kvz_alf_encoder.
New bugs appeared with this fix.
2020-12-30 16:12:17 +02:00
Arttu Makinen 8aa91f320a Bug fixes and cleaning. 2020-12-30 16:11:36 +02:00
Arttu Makinen bfba8d43cb Working on to get APS working for ALF. 2020-12-30 16:10:01 +02:00
Arttu Makinen b3ecc755e2 ALF search is now executed for full frame. Works for only 1 frame.
Checksum matches.
APSs are not used currently.
#define FULL_FRAME in alf.h is set to 1 in order to use ALF for full frame.
#define FULL_FRAME 0 produces working bitstream but checksum doesn't match.
2020-12-30 16:08:46 +02:00
Arttu Makinen 94787acb73 Divided encoder_state_worker_encode_lcu -function in encoderstate.c into encoder_state_worker_encode_lcu_search and encoder_state_worker_encode_lcu_bitstream.
ALF off. No changes in bitstream.
2020-12-30 16:07:46 +02:00
Arttu Mäkinen ec62ed89cb LCUs now have mismatched only on boundaries.
Fixed a bug in alf.c line 5451.
Modifications to copying the boundary pixels of CTU.
2020-12-30 16:07:45 +02:00
Arttu Mäkinen f202aa43fa WIP Updating VTM8.2 to VTM10.0.
Small update to ALF cabac flags.
Minor variable definition updates.
2020-12-30 16:07:44 +02:00
Arttu Mäkinen bc90b731a5 ALF updated to VTM8.2. Checksum doesn't match.
ALF uses currently only ready defined coefficients, not APSs.
Produces a valid bitstream, but checksum doesn't match.
CC ALF is disabled.
2020-12-30 16:06:59 +02:00
Arttu Mäkinen 2f80216514 Some cleaning and updating.
Set to use only existing filters rather than signal APS.
2020-12-30 16:02:01 +02:00
Arttu Mäkinen a430d48669 ALF works now with VTM7.0 as in VTM6.1.
VTM properly decodes bitstream from kvazaar but the checksum doesn't match.
Couple hard coded values needed for this in function "kvz_encode_alf_bits".
2020-12-30 15:59:08 +02:00
Arttu Mäkinen 7250f4549b Merge fixes. 2020-12-30 15:12:32 +02:00
Arttu Mäkinen 21a4751875 Works with VTM decoder with one frame with one hard coded value.
APS NAL unit type writing added.
Bug fixes.
WIP.
2020-12-30 15:11:17 +02:00
Arttu Mäkinen 9cad95c94c Bug fixes.
WIP.
2020-12-30 15:09:13 +02:00
Arttu Mäkinen 09c68d9de6 Outputs valid frame with kvazaar. Still problems with cabac when decoding with VTM.
Decided to use buffers that were added in last commit.
Some small fixes and adjustments.
WIP.
2020-12-30 15:09:12 +02:00