Commit graph

273 commits

Author SHA1 Message Date
Marko Viitanen dc6862051e [alf] Initialize all the alf tables in one place 2021-07-23 21:44:09 +03:00
Marko Viitanen c9e48f253d Fix hash message with monochrome 2021-06-24 14:48:48 +03:00
Marko Viitanen 4594bf0ca8 Merge branch 'lmcs_chroma' 2021-06-02 15:05:04 +03:00
Marko Viitanen fad11a5c92 [LMCS] Import LMCS chroma functions from VTM13.0 2021-06-01 09:01:55 +03: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 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 be9776e40f Fix a bug causing tmvp related flag being written on intra frames 2021-05-26 14:31:34 +03:00
Marko Viitanen 19a3274770 [LMCS] Enable initial LMCS processing and APS writing 2021-05-04 12:04:22 +03:00
Joose Sainio d2b9893bb7 [transform skip] Fix misunderstanding that caused TS to use QP 52>= 2021-04-30 10:55:23 +03:00
Joose Sainio a998f3ed74 [transform-skip] Convert the HEVC transfrom skip to VVC
For some reason transform skip uses QP MAX(52, QP) and the coeffs are
no longer shifted
2021-04-30 10:55:23 +03:00
Joose Sainio 7ff904fd9d [transform-skip] Bitstream generation for transform-skip 2021-04-30 10:54:45 +03:00
Marko Viitanen 38eafbbf78 [LMCS] initial bitstream writing and LMCS structures 2021-04-30 10:04:41 +03:00
Joose Sainio 8049ebb597 Fix header writing for monochrome. WIP: checksum header still incorrect 2021-03-17 13:01:26 +02:00
Joose Sainio b2076d3b39 Enable chroma scaling
WIP: user defined scaling array
2021-03-16 10:31:26 +02:00
Marko Viitanen 113b94f5e1 Add sh_sign_data_hiding_used_flag to slice header 2021-02-12 14:19:56 +02:00
Arttu Mäkinen 8f34685a8f Merge branch 'master' into 'mts'
# Conflicts:
#   src/cfg.c
#   src/kvazaar.h
2021-02-10 13:05:18 +02:00
Arttu Makinen 15816125aa Cast ALF functions to static or set them to have prefix "kvz_". 2021-01-08 12:03:22 +02:00
Arttu Makinen 2786e8f0e2 Fix of problems that appeared with rebase. 2021-01-05 11:43:15 +02:00
Arttu Makinen e06759eb6e Fixed a bug of ALF failing when CC-ALF was not enabled. Added ALF to README.md parameters. 2020-12-30 16:27:15 +02:00
Arttu Makinen b17e26511f Removed/moved the last global variables from ALF. 2020-12-30 16:26:49 +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 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 99745c2e5a Added writing of CC ALF flag. Couple of bug fixes. 2020-12-30 16:22:00 +02:00
Arttu Makinen bd292dab16 Fixed coding of headers for inter coding with ALF. 2020-12-30 16:15:12 +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 bfba8d43cb Working on to get APS working for ALF. 2020-12-30 16:10:01 +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 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 Makinen 377aa989ab Updated to VTM6.1.
Done according to all #ifs enabled
2020-12-30 14:27:15 +02:00
Arttu Mäkinen 06233b5d3b added alf parameter to cli 2020-12-30 14:02:58 +02:00
Arttu Makinen fd2f73b460 MTS headers and commands. 2020-12-18 17:40:47 +02:00
Marko Viitanen c07a56179f Fix Hash SEI message for VTM11.0 2020-12-15 13:47:28 +02:00
Arttu Makinen 30c4065dc0 Headers for threading. 2020-12-15 13:04:39 +02:00
Marko Viitanen 3c7eb55292 Disable output of cabac debug when in "count only" mode
- Some code cleanup
2020-10-09 08:45:43 +03:00
Marko Viitanen 11229997b6 Fix NAL header layer_id 2020-10-01 11:10:40 +03:00
Marko Viitanen ac2032eb65 Fixing P/B frame headers and debug output formatting 2020-09-28 14:58:07 +03:00
Marko Viitanen 551a3991cf Cleanup headers 2020-09-24 09:31:44 +03:00
Joose Sainio 3fb8b7ebc6 Add --stats-file-prefix option
When the option is defined with an option four files prefixlambda.txt,
prefixqp.txt, prefixdist.txt, and prefixbits.txt that have the corresponding
data for each ctu. This is a debug feature.
2020-09-09 12:35:47 +03:00
Marko Viitanen b3f3a9eae6 Add two EOS NAL units at the end of each picture to make intra sequence work 2020-08-25 15:30:21 +03:00
Marko Viitanen b7638172ca Use continuous POC for all intra and add aud_irap_or_gdr_au_flag 2020-08-25 11:53:55 +03:00
Marko Viitanen b53b53ed09 Fixed SAO headers, SAO produces valid output 2020-08-20 15:37:29 +03:00
Marko Viitanen b4907e6337 Fix deblocking headers and some cleanup, deblocking does not produce valid output 2020-08-20 15:25:18 +03:00
Marko Viitanen 2fc8558926 Set correct profile, level and inter flags in IDR 2020-08-17 11:51:57 +03:00
Marko Viitanen 0f8ada02c4 Fix VPS writing 2020-08-17 11:26:09 +03:00
Arttu Mäkinen da9f542209 WIP updating VTM8.2 to VTM10.0rc 2020-08-17 10:27:03 +03:00
Joose Sainio 138651ee85 Fix the bit and frame counts for calculating the gop allocation
Additionally dynamically adjust the smoothing window if there are rapid changes
2020-06-24 15:26:54 +03:00
Marko Viitanen 20b66c9949 Sync to VTM 8.2 and add separate height to last_sig coding 2020-04-29 08:52:38 +03:00
Marko Viitanen 27b4dd50f8 Fix picture header to code Inter frame 2020-04-14 08:24:11 +03:00
Marko Viitanen d36ba85861 Fixed PPS and slice header to match VTM 8.0 (only for I-Frame!) 2020-03-30 12:55:12 +03:00
Marko Viitanen 64b9177cf0 Fix SPS to match VTM 8.0 2020-03-30 09:56:38 +03:00
Marko Viitanen 8908324df8 Fix PTL DPB HDR param headers to match VTM 8.0 2020-03-26 10:40:27 +02:00
Joose Sainio 7deb22c8e8 Merge branch 'master' into rc-intra 2020-02-19 15:01:04 +02:00
Ari Lemmetti 1354acd358 Prevent negative values being written to SPS with --gop=0 2020-02-15 22:54:47 +02:00
Arttu Ylä-Outinen 636fa8fbdd Fix maximum decoded picture buffer size 2020-02-15 22:36:57 +02:00
Arttu Ylä-Outinen c8fff1e0d6 Use a larger number of bits for POC lsb when needed
Changes the number of bits used for coding the least significant bits of
the POC based on the GOP size.
2020-02-15 22:36:56 +02:00
Joose Sainio e90d3141a2 Merge branch 'master' into rc-intra 2020-02-05 11:06:56 +02:00
RLamm 76e3249754 Changed parameter "slicer" to "partial-coding" to avoid confusion. 2020-01-31 14:22:32 +02:00
RLamm 30d5df40c5 Custom headers for the distributed coding 2020-01-29 15:54:49 +02:00
Marko Viitanen 94d89f03c7 Added cfg variable intra_smoothing_disabled and some cleanup 2019-11-20 08:38:33 +02:00
Joose Sainio a07833f3e6 check that mallocs in rc initialization were successful
only call kvz_update_after_picture when using the OBA rc
2019-11-19 13:59:44 +02:00
Marko Viitanen 17a53230fd Code cleanup, remove unused arrays and remove tabs 2019-11-18 09:01:23 +02:00
Marko Viitanen b309ed90be Fix NAL packet and missing fields in SPS 2019-11-14 09:21:11 +02:00
Marko Viitanen 74514981a9 Fixed PPS, SPS and slice headers and NAL unit types 2019-11-13 15:59:36 +02:00
Joose Sainio 14b7a75713 Call the new functions and fix bugs 2019-09-27 14:14:24 +03:00
Joose Sainio 7c8f4da7cb Update c and k except after first intra 2019-09-26 13:09:28 +03:00
Marko Viitanen 6d5e20ca13 Header changes to match VTM 6.1 2019-09-02 09:42:35 +03:00
Marko Viitanen e644b03615 Fix headers to match VTM6.0rc1 2019-08-16 15:33:20 +03:00
Sami Ahovainio ce1e67cc3a Modified header flags to match VTM commit b9080ff45bec368c44f0c43a32dcd6804ef9f5d6 2019-07-01 13:58:15 +03:00
Sami Ahovainio 3863064d90 Fixed bugs in split decision and coefficient coding. 2019-07-01 13:00:43 +03:00
Sami Ahovainio 3a9800d07d Fixed coefficient coding. Fixed headers to match VTM commit e65075531471a68632bc9252d607655a0feeabc6 2019-06-20 14:43:03 +03:00
Sami Ahovainio a8a53e15b5 Fixed headers to match VTM commit aa76fc5c04cf43390f43d63f9977bea8ee31997a. Added multi_ref_line flag coding. 2019-06-07 13:37:45 +03:00
Sami Ahovainio 367f1b2129 Fixed splitting bug caused by wrong values in the headers. Fixed header flags to match VTM commit 5703e81b2de677d976ec15423f5768b17619ba6a 2019-06-05 11:21:02 +03:00
Sami Ahovainio 76d56290ed Fixed VUI header writing. Fixed debug prints of NAL headers and rbsp_stop_one_bit. 2019-05-31 11:13:11 +03:00
Marko Viitanen 8282a18c36 Fixed headers and NAL writing to match the latest VTM master 988c22cbb9c58584cac3ef0ec7794cafbea6dfd6 2019-05-29 16:18:35 +03:00
Sami Ahovainio 4768ba0628 Minor fixes to header writing. Added contexts for multi_ref_line and BDPCM. Functions added for writing both in bitstream, but they are both disabled for now. 2019-05-29 13:00:19 +03:00
Sami Ahovainio 3339e12169 Fixed some header flags 2019-05-27 09:56:56 +03:00
Ari Lemmetti 9339845e8b Set QP completely at CU level as the name '--set-qp-in-cu' implies
-Move slice delta QP to CU level when using --set-qp-in-cu
-Separate functionality from roi
2019-05-24 20:38:39 +03:00
Sami Ahovainio 504c3dfd1b Modified the headers to match current VTM headers 2019-05-07 16:30:06 +03:00
Marko Viitanen 1546acfdb9 New NAL unit IDs and header changes 2019-03-28 10:11:36 +02:00
Marko Viitanen 20667fdba6 Update header bits to VTM 4.0+ 2019-03-11 14:02:12 +02:00
Eemeli Kallio 2a40560888 some variables to const 2019-02-12 11:24:10 +02:00
Eemeli Kallio 8f8e7bb53c Added possibility to reduce number of maximum number of merge candidates. 2019-02-12 09:21:03 +02:00
Marko Viitanen 1165219842 Update PTL, SPS ext and SPS flags to match VTM 4rc1 2019-02-07 10:00:04 +02:00
Marko Viitanen a5a10a33c3 Enable --scaling-list parameter and add to the documentation 2018-11-19 10:47:30 +02:00
Marko Viitanen b133e7de1e VTM 2.2 changed -> remove high_precision_motion_vectors flag 2018-10-17 12:41:14 +03:00
Marko Viitanen e015d7eb2b Fix compiler warnings 2018-10-17 10:43:11 +03:00
Marko Viitanen 23a1292f52 Added max_binary_tree_unit_size and more comments 2018-08-29 08:23:41 +03:00
Sami Ahovainio 42741a2c40 Some changes for PCM and Intra towards VTM 2.0 compatibility. 2018-08-27 09:18:15 +03:00
Marko Viitanen 9aaf53fcd7 Add dep_quant_enable_flag to slice header 2018-08-17 14:58:57 +03:00
Marko Viitanen dc92fa6fb3 Added missing ALF flag to SPS 2018-08-17 12:53:27 +03:00
Marko Viitanen dbc74c592d Add VTM 2.0 new flags to SPS 2018-08-17 12:47:29 +03:00
Marko Viitanen c9cbdd5dc3 Added couple of ToDo comments for large CTU support 2018-08-17 09:37:14 +03:00
Marko Viitanen b85ae3688e Signal QP in slice header if tiles and slices=tiles are enabled
Keeps the PPS constant for various purposes
2018-08-16 08:44:39 +03:00
Marko Viitanen b33aa37484 Enable max_trans_hier_depth values and disable DC and angular filtering 2018-08-14 15:24:21 +03:00
Marko Viitanen 7abadaafe4 Disable CTU splitting and configure max CTU sizes to 64x64 2018-07-27 11:04:21 +03:00
Marko Viitanen 37b5ce3d33 Change configurations to ease VVC debugging, max-BT-depth = 0 2018-07-26 16:12:11 +03:00