Joose Sainio
480a907c07
[lfnst] change kvz_ to uvg_
2022-06-28 15:20:44 +03:00
siivonek
7abbf14d50
[lfnst] Fix lfnst constraint calculation check. Constraints will now be calculated regardless of tr_idx value.
2022-06-28 15:20:44 +03:00
siivonek
9171e03a53
[lfnst] Add cu intra check to lfnst calls.
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
1c5f7f9dfc
[lfnst] Fix errors in quantization code. Lfnst was called in wrong place. Fix error in lfnst algorithm, 16 bit integer overflow issue.
2022-06-28 15:20:41 +03:00
siivonek
2975b1fef0
[lfnst] WIP Implement lfnst search. Resolve some TODOs.
2022-06-28 15:20:40 +03:00
siivonek
ca2890d7e9
[lfnst] Fix error in inv lfnst call in quant generic. Add lfnst calls to quant avx2. Improve lfnst flag sps write.
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
835f576eef
[lfnst] Fix error in writing lfnst constraints. Added check to test if CU data exists before referencing it.
2022-06-28 15:20:37 +03:00
siivonek
e11fd3154d
[lfnst] Implement cabac write.
2022-06-28 15:20:36 +03:00
siivonek
c039f3ba80
[lfnst] Add lfnst transform tables.
2022-06-28 15:20:35 +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
Marko Viitanen
7557067b41
[build] Fix building for other than x86 target
2022-04-29 14:32:24 +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
Marko Viitanen
227556a13e
[build] Remove support for the yasm asm build
2022-04-28 14:12:09 +03:00
Joose Sainio
b413aa5c43
Improve jccr search
2022-04-20 09:31:34 +03:00
siivonek
dea3ca12aa
Merge branch 'intra_mrl'
2021-12-08 15:51:50 +02:00
Marko Viitanen
0dcd6dbec0
[mrl] Fix kvz_angular_pred_avx2() for mrl and enable cpuid in CI
2021-12-08 14:48:44 +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
54505e0250
[mrl] Fix warnings.
2021-11-29 20:55:39 +02:00
siivonek
ddd0474c21
Fix filter error in block reconstruction when MRL is used. Disable PDPC during block reconstruction if MRL is used. Fix error in reference building.
2021-11-29 17:11:39 +02:00
siivonek
e41067220c
Fix error in block reconstruction when MRL is used.
2021-11-29 17:11:39 +02:00
siivonek
54e5a2181d
[mrl] Fix rebase mistake. Disable use of PDPC if MRL is used.
2021-11-29 17:11:28 +02:00
siivonek
511ce4991b
[mrl] Pass multi_ref_idx to generic angular and DC prediction funcs. Fix some outdated comments.
2021-11-29 17:02:27 +02:00
siivonek
a5dc2a3ce1
Disable MRL when copying best mode from top left CU.
2021-11-29 17:02:26 +02:00
siivonek
cdb64f5e86
Change MRL variable name to snake_case.
2021-11-29 16:59:55 +02:00
siivonek
f22af05dd6
Extend the reference arrays for MRL.
2021-11-29 16:59:55 +02:00
siivonek
3462ac7219
Add multiRefIndex to reference handling.
2021-11-29 16:59:55 +02:00
Marko Viitanen
3fda2dd6c8
[cleanup] Fix some warnings
2021-11-29 16:31:09 +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
7df4542c48
[fme] Fix filter coeffs used in kvz_filter_qpel_blocks_diag_luma_avx2()
2021-11-22 20:50:00 +02:00
Marko Viitanen
64705a27ee
[fme] Enable 1/16th luma pixel fme
2021-11-22 20:31:30 +02:00
Ari Lemmetti
9e40f435cb
Fix array sizes to prevent ASAN errors (large block interpolation).
2021-11-22 17:44:00 +02:00
Ari Lemmetti
054dfdb51b
Fix array sizes to prevent ASAN errors (large block interpolation).
2021-11-22 17:38:03 +02:00
Marko Viitanen
25fb0dd3d9
[fme] Disable kvz_sample_quarterpel_luma_avx2() for now since it's causing asan problems
2021-11-22 13:17:49 +02:00
Marko Viitanen
867304970e
[fme] Enable avx2 interpolation and fix some warning about shifting mv's
...
* Also switch mv int16_t to mv_t in many places
2021-11-22 10:38:18 +02:00
Ari Lemmetti
2bdfb3b536
Rename variables to be less misleading
2021-11-21 02:20:42 +02:00
Ari Lemmetti
86b37a8e02
Minor formatting
2021-11-21 02:06:49 +02:00
Ari Lemmetti
fd20462202
Fix more newlines...
2021-11-21 02:01:57 +02:00
Ari Lemmetti
40ca21d221
Consistent naming part 3
2021-11-21 01:04:14 +02:00
Ari Lemmetti
6c0bdb45b9
Consistent naming part 2
2021-11-21 00:58:52 +02:00
Ari Lemmetti
a68d73674b
Consistent naming part 1
2021-11-21 00:32:01 +02:00
Ari Lemmetti
8f0e96162a
Formatting
2021-11-20 23:33:57 +02:00
Ari Lemmetti
a236b32c52
Fix newlines
2021-11-20 23:14:31 +02:00
Ari Lemmetti
5225dcea3c
Implement missing block sizes. Fix types and conditions.
2021-11-20 22:53:37 +02:00
Ari Lemmetti
5389842675
Add missing SIMD bipred functions for AMP blocks with size of 12 or larger
2021-11-17 21:33:13 +02:00
Marko Viitanen
a91c9bd095
Fix sse41 ver_sad_arbitrary() reading over the boundary and disable ver_sad_w12(), since it always reads 16 bytes
...
* This fixes valgrind complaining about using uninitialised values
2021-11-15 12:42:29 +02:00
Ari Lemmetti
146298a0df
New AVX2 block averaging *WIP* missing small chroma block and SMP/AMP
2021-11-08 23:01:13 +02:00
Ari Lemmetti
ef69c65c58
New bipred average functions
2021-11-08 23:01:12 +02:00
Ari Lemmetti
f47bd5d86f
Rename some bipred functions
2021-11-08 23:01:12 +02:00
Ari Lemmetti
b52a930bed
About working with generics
2021-11-08 23:01:12 +02:00
Ari Lemmetti
e7857cbb24
Remove avx2 blending
2021-11-08 22:45:45 +02:00
Marko Viitanen
4a42b5cbc4
[cleanup] Remove HMVP debug code and extra arrays in intra coding
2021-11-08 10:11:17 +02:00
Marko Viitanen
73c4128100
[quant] Map scalinglistType correctly
2021-10-29 09:10:15 +03:00
Marko Viitanen
492d22e8be
Disable interpolation AVX2 optimizations for now
2021-10-29 08:43:52 +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
Ari Lemmetti
171b9c60b3
[SIMD] Convert planar and DC mode PDPC loops to AVX2
2021-09-08 03:40:38 +03:00
Ari Lemmetti
ad35d4a4c8
[SIMD] Loop transformation, prepare data for latter loop
2021-09-06 22:38:37 +03:00
Ari Lemmetti
22da8cfe65
[SIMD] Loop transformations for SIMD processing
2021-09-06 22:30:36 +03:00
Ari Lemmetti
c195d906d3
[SIMD] Copy generic implementation of planar/DC PDPC as a skeleton
2021-09-06 21:20:51 +03:00
Ari Lemmetti
c6b33c7b92
[SIMD] Move PDPC condition out of strategy
2021-09-06 21:20:51 +03:00
Ari Lemmetti
46cf9b6871
[SIMD] Make strategy out of PDPC for planar and DC
2021-09-06 21:20:51 +03:00
Ari Lemmetti
816e7a5a91
[SIMD] Replace PDPC remainder loop with masking operations
2021-09-06 21:20:51 +03:00
Ari Lemmetti
1926b4cc27
[SIMD] Initial AVX2 code for transpose in angular prediction
2021-09-06 21:20:50 +03:00
Ari Lemmetti
913573baca
[SIMD] Initial AVX2 code for PDPC in angular prediction
2021-09-06 21:20:50 +03:00
Ari Lemmetti
7ccd1a571c
[SIMD] Initial AVX2 code for 4-tap filtering in angular prediction.
2021-09-06 21:20:50 +03:00
Ari Lemmetti
20f0ff976d
[SIMD] Transform angular pred loops for SIMD processing.
2021-09-06 21:20:49 +03:00
Ari Lemmetti
3dfe09e850
[SIMD] Copy generic implementation of angular prediction as a skeleton.
2021-09-06 21:20:46 +03:00
Joose Sainio
450cbd356c
Merge branch 'joint_cbcr' into 'master'
...
[jccr] Add joint coding of chroma residual
See merge request cs/ultravideo/vvc/uvg266!6
2021-09-06 11:43:06 +03:00
Joose Sainio
0592cc65a0
[jccr] enable rdoq with jccr
2021-09-06 11:28:20 +03:00
Joose Sainio
072b84711a
[jccr] fix 64×64 CUs
2021-09-06 11:28:20 +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
26f18865f7
[alf] Change the processing in alf_get_blk_stats_avx2() to allow utilizing the whole 256bit register
2021-08-27 13:40:28 +03:00
Marko Viitanen
fdf125f406
[alf] Fix incorrect conversion in alf_get_blk_stats_avx2
2021-08-27 10:25:20 +03:00
Marko Viitanen
6714973264
[alf] Change _mm_store_si128 to _mm_storeu_si128 in alf_get_blk_stats_avx2()
2021-08-26 18:05:06 +03:00
Marko Viitanen
5df8add046
[alf] Change order of alf_covariance.y array for better AVX2 optimization in alf_get_blk_stats_avx2()
2021-08-26 15:37:01 +03:00
Marko Viitanen
be9527cf1d
[alf] Change the order of alf_covariance.ee values to get better optimized solution for alf_get_blk_stats_avx2()
2021-08-26 11:07:13 +03:00
Marko Viitanen
f4de5cfd0f
[alf] Cleanup alf_calc_covariance_avx2() and use integers in alf_get_blk_stats_avx2()
2021-08-26 10:20:57 +03:00
Marko Viitanen
915bf3ca24
[alf] Fix AVX2 priority
2021-08-25 20:29:58 +03:00
Marko Viitanen
8ef3e6a126
[alf] Add strategy for alf_get_blk_stats() and an initial AVX2 version
2021-08-25 20:22:24 +03:00
Marko Viitanen
f61b9138cd
[alf] Import SSE4.1 optimized 5x5 and 7x7 filters from VTM13
...
* Modified to work with 8-bit pixels
2021-08-25 11:50:37 +03:00
Marko Viitanen
dc6a29b0d8
[alf] Initial generic strategies for 5x5 and 7x7 filtering
2021-08-25 10:50:00 +03:00
Marko Viitanen
c3c96d69c2
[alf] Add modified alf_derive_classification_blk_sse41() from VTM 13.0
...
* Modified to work with bitdepth 8
2021-08-20 11:45:02 +03:00
Marko Viitanen
b158d05bca
[alf] rename strategy function to include prefix
2021-08-19 17:19:17 +03:00
Marko Viitanen
3efaeede76
[alf] Define the strategy for alf_derive_classification_blk()
2021-08-19 17:04:35 +03:00
Marko Viitanen
d742f57779
Remove angular_pred_avx2 so we don't need extra parameter
2021-08-15 10:43:48 +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
99a2b0384d
[cleanup] remove some warnings
2021-07-26 11:42:19 +03:00
Marko Viitanen
0cad1ac3c9
[mts] Add a comment about idct8/idst7 16x16 being unoptimized
2021-07-21 14:02:23 +03:00
Marko Viitanen
d5ef036d35
[mts] change mts_subset tables back to static
2021-07-21 13:54:59 +03:00
Marko Viitanen
60caf2c378
[mts] fix 32x32 idst/idct
2021-07-21 13:44:25 +03:00
Marko Viitanen
c2cd5fb98e
[mts] replace AVX2 DST7/DCT8 16x16 with unoptimized for now
2021-07-21 13:38:17 +03:00
Marko Viitanen
7e089f518d
[mts] add optimized versions of DCT8 and DST7, inverse not yet working properly
...
* Includes new unit tests for the mts
2021-07-21 11:53:15 +03:00
Marko Viitanen
7f67009511
Fix MD5 calculations from HEVC to VVC way
2021-06-24 15:03:29 +03:00
Marko Viitanen
c004735821
[LMCS] Fix casting of the chroma scaled residual
2021-06-18 09:35:06 +03:00
Joose Sainio
cfffd7166c
Use correct context for calculating coeff costs for transform skip
2021-06-07 13:06:03 +03:00
Marko Viitanen
4594bf0ca8
Merge branch 'lmcs_chroma'
2021-06-02 15:05:04 +03:00