Joose Sainio
835b7fa736
[test] Add capability for testing the consistency of the cabac state
2022-06-28 15:28:06 +03:00
Joose Sainio
f056178e80
[jccr] Chroma transform search kinda working
2022-06-28 15:27:21 +03:00
Joose Sainio
c309b81532
[intra] Fix chroma bit counting
2022-06-28 15:26:41 +03:00
Joose Sainio
03246c031e
[cabac] Fix trskip writing
2022-06-28 15:26:19 +03:00
Joose Sainio
675eb5b508
[debug] remove debug prints
2022-06-28 15:25:15 +03:00
Joose Sainio
2f5fd05f88
[intra] fix warnings
2022-06-28 15:25:09 +03:00
Joose Sainio
418c65cbf1
[intra] count mts and tr_skip bits
2022-06-28 15:25:01 +03:00
Joose Sainio
8c939c1405
[intra] Fix chroma cbf counting for 4x4
2022-06-28 15:24:25 +03:00
Joose Sainio
2feb3daaaf
[intra] Count chroma mode bits
2022-06-28 15:24:18 +03:00
Joose Sainio
80ab347d93
[intra] Luma working
2022-06-28 15:22:47 +03:00
Joose Sainio
23fda23322
[intra] Count fractional bits with get_coeff_cabac_cost
2022-06-28 15:22:33 +03:00
Joose Sainio
6d080b215c
[intra] WIP: improve search
2022-06-28 15:22:20 +03:00
Joose Sainio
480a907c07
[lfnst] change kvz_ to uvg_
2022-06-28 15:20:44 +03:00
siivonek
4d3688cf17
[lfnst] Fix error in luma tr_skip check. All cbf was checked when only luma cbf needed to be checked.
2022-06-28 15:20:43 +03:00
siivonek
b836c6f529
[lfnst] Fix error in is_lfnst_allowed. Error caused cabac to fail on depth 4 chroma blocks.
2022-06-28 15:20:43 +03:00
siivonek
cf4343989f
[lfnst] Add early termination to mts/lfnst search if MTS_SKIP is selected. Resolve TODOs.
2022-06-28 15:20:42 +03:00
siivonek
e056e87ca0
[lfnst] Fix help text missing line break. Fix luma transform skip check.
2022-06-28 15:20:42 +03:00
siivonek
7551952eeb
[lfnst] Fix separate tree type checks. Fix lfnst search. Lfnst is now done in outer loop.
2022-06-28 15:20:42 +03:00
siivonek
2975b1fef0
[lfnst] WIP Implement lfnst search. Resolve some TODOs.
2022-06-28 15:20:40 +03:00
siivonek
de18eef956
[lfnst] Chroma transform data is no longer stored in top left block. Remove -4x-4 coordinate offset.
2022-06-28 15:20:40 +03:00
siivonek
76947c4c41
[lfnst] Fix rebase errors.
2022-06-28 15:20:40 +03:00
siivonek
b9c71b7f01
[lfnst] Fix cabac write issues. Lfnst constraints needed to be reset after encode_transform_coeff call.
2022-06-28 15:20:39 +03:00
siivonek
7928149d05
[lfnst] Fix CI errors. Had to remove const modifier from function call.
2022-06-28 15:20:39 +03:00
siivonek
c1190e47d6
[lfnst] Fix cabac write issues. Remove is_luma from encode coeff function call, that information is already passed with type. Change parameter name 'type' -> 'color' to better reflect its purpose.
2022-06-28 15:20:38 +03:00
siivonek
e3d92a5296
[lfnst] Add separate function to check if lfnst can be used with ISP.
2022-06-28 15:20:38 +03:00
siivonek
ee9258b2d9
[lfnst] WIP Fix errors in lfnst cabac write.
2022-06-28 15:20:37 +03:00
siivonek
e11fd3154d
[lfnst] Implement cabac write.
2022-06-28 15:20:36 +03:00
Marko Viitanen
fb17bbc1ca
[cleanup] Fix MSVC warnings about type conversion and signed/unsigned comparison
2022-06-18 13:43:16 +03:00
Joose Sainio
153afc6739
Merge branch 'improve-intra-search'
2022-05-30 13:35:46 +03:00
Joose Sainio
d5b6d2771c
[deltaqp] Fix delta qp writing for 4x4 for CUs
2022-05-05 14:31:22 +03:00
Marko Viitanen
3a0c5b78a3
[deltaqp] Fix delta qp headers and cabac bits, add vaq and bitrate tests
2022-05-04 11:18:34 +03:00
Marko Viitanen
b5dce4c94e
Rename all files containing "kvazaar" or "kvz" to "uvg266" and "uvg"
2022-04-28 14:26:05 +03:00
Marko Viitanen
f14ea35ec9
Rename kvz_ to uvg_
2022-04-28 14:18:09 +03:00
Joose Sainio
0381d7d779
Move 4x4 chroma tu info to bottom right cu when intra is split into 4x4
2022-04-21 09:46:54 +03:00
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