Joose Sainio
b413aa5c43
Improve jccr search
2022-04-20 09:31:34 +03:00
Joose Sainio
b093248ca7
Maybe working for regular intra search
2022-04-15 11:39:16 +03:00
Joose Sainio
debe5924a9
Fix
2022-04-15 11:38:31 +03:00
Joose Sainio
03fd8f1545
Don't write jccr flag for inter CUs when it cannot be enabled
2022-03-31 11:45:49 +03:00
Joose Sainio
f5753394a0
Update intra chroma mode contexts
2022-03-31 11:30:27 +03:00
Joose Sainio
0d7800c7f1
Use kvz_write_split_flag for all split flags during search
2022-03-25 13:56:03 +02:00
Joose Sainio
e1fcd8b2e4
Add missing bits to kvz_mock_encode_coding_unit
2022-03-25 13:27:34 +02:00
Joose Sainio
eb8663fbd1
Move split flag coding to its own function
2022-03-25 13:09:37 +02:00
Joose Sainio
b321015426
Use kvz_luma_mode_bits to count luma_mode_bits
2022-03-24 14:57:18 +02:00
Joose Sainio
7aa361696d
Facilitate bit counting in encode_intra_luma_coding_unit
2022-03-24 13:34:26 +02:00
Joose Sainio
b2a94d4276
Move transform coding and chroma cu coding out of encode_intra_coding_unit
2022-03-24 12:09:14 +02:00
Joose Sainio
0be443d309
WIP: Merge remote-tracking branch 'remotes/kvz_github/master' into update-cabac-during-search
2022-03-21 11:03:46 +02:00
Joose Sainio
352d6750f5
Remove instrumentation code
2022-03-18 08:28:32 +02:00
Joose Sainio
d1ba62aea9
Better inter bit_costs for rdo < 2
2022-03-18 08:28:31 +02:00
Joose Sainio
5ed1ffb5d4
WIP: pre Christmas
2022-03-18 08:28:28 +02:00
Joose Sainio
64b2806cc8
Add couple of missing bits to the calculation and get intra neighbours from lcu rather than cu_array
2022-03-18 08:28:27 +02:00
Joose Sainio
aea1133e6a
Function for mock coding a CU and counting the bits
2022-03-18 08:27:22 +02:00
Joose Sainio
d8648fe1de
Preparation for accurately counting inter bits
2022-03-18 08:19:57 +02:00
Joose Sainio
d2299adb1c
Disable bit debug code when VERBOSE is not defined and count bits when combining the intra cus
2022-03-18 08:18:03 +02:00
Joose Sainio
d5e4e831f4
Preliminary code for outputting bit costs during the search
2022-03-18 08:17:41 +02:00
siivonek
c9cbadad8a
Merge branch intra_mip.
2022-03-17 12:04:59 +02:00
Joose Sainio
f1a3aa60dd
Don't write prediction mode for 4x4 intra cus
2022-03-14 10:34:06 +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
55e4091030
[mip] Fix MIP cabac write.
2022-02-09 12:55:16 +02:00
siivonek
0cf89e9516
[mip] Fix CI errors.
2022-02-09 12:55:16 +02:00
siivonek
2daa8ad537
[mip] Implement cabac write.
2022-02-09 12:55:16 +02:00
Ari Lemmetti
917d26f1bf
Unify delta QP / ROI map functionality.
2022-02-08 20:15:27 +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
siivonek
dea3ca12aa
Merge branch 'intra_mrl'
2021-12-08 15:51:50 +02:00
siivonek
64e6eb1f28
[mrl] Clean old commented mrl code.
2021-12-08 15:21:43 +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
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
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
3a447e09c2
[trskip] Allow changing the max tr-skip size
2021-12-02 22:56:07 +02:00
Marko Viitanen
1c7c14d544
[debug] Add MV debugging tool enabled with KVZ_DEBUG_PRINT_MV_INFO
2021-12-01 15:51:25 +02:00
Marko Viitanen
09d2881ca9
[debug] Handle tiles with the yuview data
2021-12-01 15:36:29 +02:00
Marko Viitanen
6a89817adb
[debug] Arrange the yuview CSV data by POC and type, add data for CU type
2021-12-01 14:43:34 +02:00
Marko Viitanen
4f42c9c22c
[debug] Fix problems in YUView CSV format
2021-12-01 08:55:21 +02:00
Marko Viitanen
5cbc655954
[debug] Add debug.c/.h and initial version of YUView CSV format printers
2021-11-30 22:11:20 +02:00
siivonek
9396940900
Implement writing MRL bits to cabac.
2021-11-29 17:02:25 +02:00
siivonek
8fb5220b17
[mrl] Implement MRL into cabac coding.
2021-11-29 17:02:15 +02:00
Marko Viitanen
3fda2dd6c8
[cleanup] Fix some warnings
2021-11-29 16:31:09 +02:00
Joose Sainio
c16ce9a82b
[cclm] fix bin type for the second cclm mode bit
2021-11-26 08:11:53 +02:00
Joose Sainio
754607dae4
[cclm] bitstream writing + cabac
2021-11-26 08:11:53 +02:00
Marko Viitanen
54eaba3dee
Fix merge issues and license texts
2021-11-23 08:46:06 +02:00
Marko Viitanen
885570e181
Merge branch 'master' of https://github.com/ultravideo/kvazaar
2021-11-22 22:11:32 +02:00
Marko Viitanen
fa9a1db498
[inter] Fix mv precision in many places and add more mv_t usage and new vector2d_t rounding function
2021-11-19 16:20:49 +02:00
Marko Viitanen
bf06538f33
[inter] Change internal MV precision to "INTERNAL_MV_PREC" and add new type mv_t
2021-11-18 09:49:12 +02:00
Marko Viitanen
c4a9d3dc83
[amvr] Add cmd line parameter for amvr and a field to the cu_array_t for setting it
...
* Still hardcoded too QPEL
2021-11-17 14:53:30 +02:00
Marko Viitanen
757772e8c4
[inter] Disable AMVR by default
...
* Can be used to reduce cost on signalling motion vectors later
2021-11-16 17:38:38 +02:00
Marko Viitanen
d4902cc840
[inter] Implement Adaptive Motion Vector Resolution bits, the resolution still in fullpel
2021-11-16 17:18:29 +02:00
Marko Viitanen
f6011cf850
[inter] Fix inter_pred_idc signalling
2021-11-10 12:54:33 +02:00
Marko Viitanen
907fa6a36a
[inter] Fix how references are signalled for PU
2021-11-09 09:05:45 +02:00
Marko Viitanen
08766c0bb3
[inter] Fix max-merge usage
2021-10-25 11:25:23 +03:00
Marko Viitanen
57883369ca
Change all the license texts in source headers and LICENSE file to 3-clause BSD, closes #302
...
* All now have the same exact text string
2021-10-13 15:22:46 +03:00
Marko Viitanen
f68ba68fb2
Push HMVP item also when coding a skipped cu
2021-10-08 16:29:15 +03:00
Marko Viitanen
76a7294e35
Implement HMVP look-up-table functions
2021-10-08 16:29:14 +03:00
Marko Viitanen
cb9f9381c3
[inter] Fix inter reconstruction, correct function was in wrong branch
2021-10-08 14:48:49 +03:00
Joose Sainio
3a73abd264
[jccr] disable jccr for blocks when tr-depth != depth, i.e. 64×64
2021-09-06 11:28:32 +03:00
Joose Sainio
072b84711a
[jccr] fix 64×64 CUs
2021-09-06 11:28:20 +03:00
Joose Sainio
29d86aea84
[jccr] cmdline option
2021-09-06 11:28:08 +03:00
Joose Sainio
042b5078d8
[jccr] WIP initial implementation
...
Add somekind of search for joint chroma residual coding.
Bitstream is currently correct but prediction is incorrect because the jccr
is actually not used in the search.
Hard coded to be enabled
2021-09-06 11:28:08 +03:00
Marko Viitanen
5604b6f946
[cleanup] remove all crypto related stuff, fix warnings, move estimate.m to tools/
2021-07-27 09:27:51 +03:00
Marko Viitanen
9e70707fba
[alf] Add new wf_recon_jobs and change search/bitstream writing to use local coeff instead of state->coeff
2021-07-23 10:40:19 +03:00
Joose Sainio
cfffd7166c
Use correct context for calculating coeff costs for transform skip
2021-06-07 13:06:03 +03:00
Joose Sainio
2df94f6a17
Fix rd=3
2021-05-27 08:39:41 +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
Joose Sainio
2ab005692d
Enable 4x4 intra CUs
2021-04-23 10:57:29 +03:00
Joose Sainio
1aaa95601c
Merge remote-tracking branch 'remotes/kvz_github/master' into Fix-monochrome
...
# Conflicts:
# .gitlab-ci.yml
# build/kvazaar_lib/kvazaar_lib.vcxproj.filters
# src/cfg.c
# src/encoder.h
# src/kvazaar.h
# src/rdo.c
2021-04-23 10:56:50 +03:00
Arttu Makinen
2e7c342645
Implemented DCT2, DST7, and DCT8 transforms, and search for selecting transform for MTS. Using MTS results mismatch for luma component.
2021-02-02 11:09:43 +02:00
Arttu Makinen
b9c3336f0e
MTS bitstream encoding added for intra. Work with depths 0-3.
2021-01-18 20:44:36 +02:00
Marko Viitanen
26f4f45c6d
Use correct pred_mode cabac models -> fixes inter cabac bits
2020-10-13 12:04:31 +03:00
Marko Viitanen
fa25621c77
Force certain intra modes off
2020-10-09 08:44:40 +03:00
siivonek
bc1206a4d3
Define qp_delta_min & max in global.h instead of calculating them locally.
2020-09-29 13:46:27 +02:00
Marko Viitanen
bddfb47a55
Merge remote-tracking branch 'remotes/kvazaar_github/master'
2020-09-25 11:49:11 +03:00
siivonek
0f3ef786b9
Modify delta QP range assert so it will work with any valid bit depth. Modify VAQ code so it will clip the QP to a proper range which is dependent on bit depth
2020-09-22 20:15:23 +02:00
siivonek
fe6f93a951
Fix delta QP range check assert. Add separate asserts based on bit depth.
2020-09-22 20:15:22 +02: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
86d76b19a4
Fix intra neighboring block selection and clean some unused code
2020-04-16 14:12:40 +03:00
Marko Viitanen
e737a878a6
Fix split flags and remove an extra terminating bit
2020-04-07 09:57:30 +03:00
Kari Siivonen (TAU)
c972ca9067
Add assert to check if deltaQP out of bounds. Clip adaptive QP to [-13, 12].
2020-02-18 13:20:26 +02:00
Marko Viitanen
17a53230fd
Code cleanup, remove unused arrays and remove tabs
2019-11-18 09:01:23 +02:00
Marko Viitanen
a16efe6b52
Merge remote-tracking branch 'remotes/github_kvazaar/master'
...
# Conflicts:
# build/kvazaar_VS2013.sln
# build/kvazaar_VS2015.sln
# build/kvazaar_VS2017.sln
# build/kvazaar_cli/kvazaar_cli.vcxproj
# build/kvazaar_lib/kvazaar_lib.vcxproj
# build/kvazaar_tests/kvazaar_tests.vcxproj
# src/encode_coding_tree.c
# src/encode_coding_tree.h
# src/encoder_state-bitstream.c
# src/inter.c
# src/strategies/avx2/quant-avx2.c
2019-08-22 15:12:01 +03:00
Marko Viitanen
01ea762c1f
Fix coeff coding ad remove bdpcm flag -> CABAC bits match with VTM 6.0
2019-08-22 14:33:42 +03:00
Marko Viitanen
210af8adbe
Remove joint_cb_cr flag and fix split_flag context selection
2019-08-22 11:23:24 +03:00
Marko Viitanen
48b8898e53
Fix CBF context init and use
2019-08-22 10:44:47 +03:00
Marko Viitanen
db94ec1a84
Rename intra_mode_model -> intra_luma_mpm_flag_model and update the contexts
2019-08-19 15:17:25 +03:00
Marko Viitanen
cd6be15e10
Fix context init to match VTM6.0
2019-08-19 13:57:31 +03:00
Marko Viitanen
e644b03615
Fix headers to match VTM6.0rc1
2019-08-16 15:33:20 +03:00
Marko Viitanen
2e8a0d08f9
Fix mvp_idx_model initialization and use
2019-07-05 14:11:29 +03:00
Marko Viitanen
3fad4b0a98
Disable kvz_cabac_encode_aligned_bins_ep for now and add a ToDo message
2019-07-03 15:44:35 +03:00
Sami Ahovainio
3863064d90
Fixed bugs in split decision and coefficient coding.
2019-07-01 13:00:43 +03:00
Sami Ahovainio
db5c0230e5
Fixed coefficient sign hiding
2019-06-20 16:26:01 +03:00
Sami Ahovainio
b51254cafd
Fixed significant coefficient group context calculation
2019-06-20 15:47:13 +03:00
Sami Ahovainio
5e0bea962c
Fixed split context decision
2019-06-20 15:30:49 +03:00