Commit graph

3530 commits

Author SHA1 Message Date
Ari Lemmetti 94096dd175 Ignore merge candidates when computing AMVP motion vector costs. 2021-12-08 15:34:00 +02:00
Ari Lemmetti 48773b0d25 Replace and relocate deprecated cost and mode parameter tracking. 2021-12-08 15:34:00 +02:00
Ari Lemmetti 1940f0880f Add amvp unipredictions to both lists if reference picture is present 2021-12-08 15:33:57 +02:00
siivonek 64e6eb1f28 [mrl] Clean old commented mrl code. 2021-12-08 15:21:43 +02:00
Marko Viitanen c6b9e19b2f [mrl] Fix kvz_intra_build_reference_inner() top reference building for mrl 2021-12-08 15:00:27 +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 05e55f7fea [mrl] Simplify and fix kvz_intra_build_reference_inner() for mrl cases 2021-12-08 14:39:47 +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 1dd378e851 [cleanup] Remove deprecated width and height parameters and other small changes
* change some mentions of Kvazaar to uvg266
  * remove cfg.framerate
2021-12-02 23:09:40 +02:00
Marko Viitanen 3a447e09c2 [trskip] Allow changing the max tr-skip size 2021-12-02 22:56:07 +02:00
Ari Lemmetti 2ed434e57b Remove now deprecated array 2021-12-02 20:00:19 +02:00
Ari Lemmetti 90c0a708a7 Add new structs for storing statistics during the search. Use in AMVP search. 2021-12-02 20:00:19 +02:00
Ari Lemmetti 936fb76685 Remove merge candidate stuff from search_pu_inter_ref
There is a separate merge analysis now
2021-12-02 20:00:19 +02:00
Ari Lemmetti 3265d45a4e Temporarily remove FME threshold for verification purposes 2021-12-02 20:00:18 +02:00
Ari Lemmetti e000c7229f Fix bit costs in search_pu_inter_ref a bit 2021-12-02 20:00:18 +02:00
Ari Lemmetti ec2f4e0bac Use double for RD costs in most places 2021-12-02 20:00:15 +02:00
Joose Sainio f1f0033bf5 Add a cli option to control whether intra cus are tried to combine on the lower depth when search for said depth is disabled 2021-12-02 10:52:29 +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 03013f571d [tmvp] Fix a bug with selecting tmvp reflist and negate the MVs according to POC 2021-12-01 12:42:04 +02:00
Marko Viitanen 4f42c9c22c [debug] Fix problems in YUView CSV format 2021-12-01 08:55:21 +02:00
Marko Viitanen c4aa579911 [debug] Change tabs to semicolons 2021-11-30 22:15:14 +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 675e8b2d83 [mrl] Fix extra reference length in LCU bottom edge. Disable trace origins in valgrind test. 2021-11-29 17:11:41 +02:00
siivonek a01734375b [mrl] Fix reference builder call in CCLM code. 2021-11-29 17:11:40 +02:00
siivonek a0cfb625be [mrl] Fix extra ref line length. Fix error where un-initialized ref line index was passed. 2021-11-29 17:11:40 +02:00
siivonek b83d7687dc Fix assert. 2021-11-29 17:11:40 +02:00
siivonek 65cf515070 Fix MRL to work when inter coding is enabled. 2021-11-29 17:11:40 +02:00
siivonek 0dc25b86e2 Fix invalid memory read. 2021-11-29 17:11:40 +02:00
siivonek 9cce86ff61 Fix MRL behaviour on left LCU edge. Pass additional left edge reference buffers to reference building for MRL. 2021-11-29 17:11: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 231c6f3e72 Fix top left reference building. 2021-11-29 17:11:39 +02:00
siivonek 54646e7be7 Disable intra reference filtering if MRL is used. 2021-11-29 17:11:39 +02:00
siivonek eb32f40bd9 Another fix for reference building. 2021-11-29 17:11:39 +02:00
siivonek b0a4f3345a Fix top left reference building when MRL enabled. Fix reference line extension when MRL enabled. 2021-11-29 17:11:38 +02:00
siivonek c616d3bf8a Fix the inner case of reference building when MRL is used. 2021-11-29 17:11:38 +02:00
siivonek a2a1a2a1a8 Fix mistakes in MRL related reference building. 2021-11-29 17:11:38 +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 55a3274de8 Skip searching planar mode in RDO search if MRL is in use. 2021-11-29 17:02:26 +02:00
siivonek 1064603164 Limit MRL search to only MPM modes. 2021-11-29 17:02:26 +02:00
siivonek bbf0f02f3c Fix mistake in MRL commandline value parsing. 2021-11-29 17:02:26 +02:00
siivonek f0a412e202 Fix errors in MRL implementation in intra rdo search. 2021-11-29 17:02:26 +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
siivonek 81ddf2f83a [mrl] Add MRL support to intra rdo search. 2021-11-29 16:59:56 +02:00
siivonek c3860f1cbc Move max reference line idx define to proper place. 2021-11-29 16:59:56 +02:00
siivonek cdb64f5e86 Change MRL variable name to snake_case. 2021-11-29 16:59:55 +02:00
siivonek ea04feaaca Add MRL handling to reference building. 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
siivonek b8d4af3660 Extend reference arrays for use with MRL. 2021-11-29 16:59:55 +02:00
siivonek b0f5b93c6d Add commandline option for multiple reference line (MRL) intra prediction. 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 810270907b Fix log2_max_pic_order_cnt_lsb_minus4 by using the poc_lsb_bits variable, fixes gop=16 2021-11-26 20:31:12 +02:00
Ari Lemmetti d6b2ec5814 Only check used reference picture lists when validating merge candidates.
Merge candidate struct should be initialized to zero, so this should not have any effect. The conditions are added in case someone decides to copy the code as an example.
2021-11-26 18:47:14 +02:00
Marko Viitanen 44f4ce7063 [bipred] Fix reference list writing with low-delay gop with bipred use-case 2021-11-26 17:16:32 +02:00
Marko Viitanen f0f77b9bfa [bipred] Fix sh_num_ref_idx_active_minus1 flag when gop==0 and bipred are used 2021-11-26 17:12:59 +02:00
Marko Viitanen 36d302ba38 [bipred] Fix reference list writing when gop==0 and bipred are used, add to CI also 2021-11-26 17:04:30 +02:00
Marko Viitanen e662a2747b Merge branch 'tile_fixes' 2021-11-26 14:30:05 +02:00
Marko Viitanen b648bb1cd1 [tiles] Clear HMVP size properly before each leaf encoder 2021-11-26 14:00:39 +02:00
Marko Viitanen 056ed3f979 [tiles] Init HMVP for each tile 2021-11-26 10:26:43 +02:00
Joose Sainio 385e91399a [intra rdo] Raise maximum rd level to 4
Separate the rd option for chroma intra mode search from the full intra
mode search, i.e., rd=3 enables chroma mode search and rd=4 enables full
intra mode search.
2021-11-26 08:12:37 +02:00
Joose Sainio ce175c503f [cclm] remove unnecessary calculation of the downsample luma reference 2021-11-26 08:12:37 +02:00
Joose Sainio 697d4c0652 [cclm] Add bits to RD calculation 2021-11-26 08:12:31 +02:00
Joose Sainio 85ff5f23b1 [cclm] Fix accessing elements beyond the CU array
# Conflicts:
#	src/intra.c
2021-11-26 08:12:25 +02:00
Joose Sainio 80ddb60ccf [cclm] fix cclm when deblocking is enabled 2021-11-26 08:12:25 +02:00
Joose Sainio f030158703 [cclm] Fix search and parameter generation for CCLM 2021-11-26 08:12:17 +02:00
Joose Sainio d9875a3d92 [cclm] fix trying cclm on the upper level 2021-11-26 08:11:54 +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 87a458dc85 [cclm] fix incorrect log_width for chroma ref generation 2021-11-26 08:11:53 +02:00
Joose Sainio 7187678526 [cclm] Only do cclm search when it is enabled and add test for cclm 2021-11-26 08:11:53 +02:00
Joose Sainio 754607dae4 [cclm] bitstream writing + cabac 2021-11-26 08:11:53 +02:00
Joose Sainio 1c431d8f88 [cclm] Add commandline argument 2021-11-26 08:11:39 +02:00
Joose Sainio 70f6afff4f [cclm] Search should be working
still has duplicate code and inefficiencies, but the actual search *should*
be working.
2021-11-26 08:09:54 +02:00
Joose Sainio 91877ef2c4 [cclm] fix condition for selecting the data from frame buffer and not ctu 2021-11-26 08:09:54 +02:00
Joose Sainio ecc55c9edf [cclm] align ref pixel generation code and add comments 2021-11-26 08:09:53 +02:00
Joose Sainio 677bf1edcb [cclm] linear transform 2021-11-26 08:09:53 +02:00
Joose Sainio 4e8c9043a1 [cclm] CCLM parameter calculation *should* work correctly 2021-11-26 08:09:53 +02:00
Joose Sainio 93c02644c8 [cclm] WIP fix parameter calculation and add calling to the functions 2021-11-26 08:09:53 +02:00
Joose Sainio ef5a205faa [cclm] WIP: initial implementation of the cclm parameter calculation function 2021-11-26 08:09:52 +02:00
Marko Viitanen 62250a692d [tiles] Move HMVP from state->frame to state->tile->frame, so each tile has own lut 2021-11-25 20:21:13 +02:00
Marko Viitanen d8a8f02471 [tiles] Set rectangular slices flag -> I-frames working with tiles 2021-11-25 16:24:51 +02:00
Marko Viitanen 4c578d9cad [tiles] Write correct headers when tiles are enabled 2021-11-25 15:36:28 +02:00
Marko Viitanen 47108a9bb6 [tmvp] Change some variables to unsigned for ubsan error fix 2021-11-25 12:07:02 +02:00
Marko Viitanen f3d27b0a4b [tmvp] Select correct reflist and reverse the MVs when selecting for L1, add tmvp to tests 2021-11-25 11:51:39 +02:00
Marko Viitanen 83430a49f2 [tmvp] Round TMVP colocated MVs using float conversion from VTM 2021-11-24 21:57:46 +02:00
Marko Viitanen 37405ffdee [tmvp] Remove check for duplicate candidates since it's not used in VVC 2021-11-24 19:57:46 +02:00
Marko Viitanen cfd9b46328 [tmvp] Write sh_collocated_ref_idx when more than one picture in L0 list 2021-11-24 15:23:29 +02:00
Marko Viitanen 8dc2cc32f7 [tmvp] Replace C3 and H with C0 and C1 in get_temporal_merge_candidates() 2021-11-24 15:19:01 +02:00
Marko Viitanen 348f54f5bb [tmvp] Change maximum MV in scaled mv clipping 2021-11-24 15:18:11 +02:00
Marko Viitanen 12e38684ff [inter] Change mvd coding cost to use cabac contexts 2021-11-23 16:25:31 +02:00
Marko Viitanen b644e85c1a [bipred] Fix bipred candidate selection 2021-11-23 10:58:47 +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 1b86533b00 [inter] Scale MV's to qpel for cost calculation 2021-11-22 21:50:40 +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 33fc02d879 [me] Fix MV scaling in TZ search 2021-11-22 13:35:52 +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
Marko Viitanen d183c78fad [fme] Change fracmv_within_tile() to use internal MV resolution 2021-11-22 10:06:38 +02:00
Ari Lemmetti 2bdfb3b536 Rename variables to be less misleading 2021-11-21 02:20:42 +02:00
Ari Lemmetti eb0f42aa96 Update comment 2021-11-21 02:11:50 +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
Marko Viitanen ad8bad3f94 [inter] Scale x and y correctly in fracmv_within_tile() 2021-11-19 17:51:46 +02:00
Marko Viitanen 8841ed9c21 [inter] Fix fracmv_within_tile() assert to use correct mv resolution 2021-11-19 17:37:11 +02:00
Marko Viitanen 4d20461410 [inter] Limit merge search of some blocks with sub 1/4 pixel mv's 2021-11-19 17:28:13 +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 5020f5f742 [inter] Fix incorrect mv scaling in unipred and change more mv types to mv_t 2021-11-18 11:49:08 +02:00
Marko Viitanen 21d7d2e4ed [inter] Remove MV rounding from kvz_inter_get_merge_cand() and add it to where merge cand are used
* Should be adapted to AMVR later
 * merge candidates match VTM at full precision
2021-11-18 11:09:26 +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
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 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
Ari Lemmetti e3aadd4272 Add missing things after rebase 2021-11-15 21:48:43 +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
Marko Viitanen 9e0491ee79 [inter] Remove the deprecated B-priority list merge candidate selection 2021-11-10 15:56:54 +02:00
Marko Viitanen f6011cf850 [inter] Fix inter_pred_idc signalling 2021-11-10 12:54:33 +02:00
Marko Viitanen 1656202dbc [inter] Fix ref pic list signalling with GOP 2021-11-10 12:54:04 +02:00
Marko Viitanen 901bf561ff [inter] Fix HMVP mv candidate derivation for more than one reference frame 2021-11-10 09:33:12 +02:00
Marko Viitanen 907fa6a36a [inter] Fix how references are signalled for PU 2021-11-09 09:05:45 +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 c9d8412682 [inter] use Merge regions to limit the merge candidates 2021-11-08 09:51:23 +02:00
Marko Viitanen 6944437e98 Disable top-right CU copy to LCU when WPP is used, since it's not available 2021-11-08 09:43:53 +02:00
Marko Viitanen aea4e349f5 [inter] Implement HMVP LUT updates during the search 2021-11-05 13:13:11 +02:00
Marko Viitanen 30d97d9af6 [inter] Implement pairwise-average candidates for merge candidates
- Half-pel candidates are skipped for now because it needs some special handling
2021-11-01 13:24:23 +02:00
Marko Viitanen 4a7e4e3e20 [inter] Add HMVP to merge candidate list 2021-10-29 14:19:20 +03:00
Marko Viitanen 41c1b6172c [inter] Fix picture headers for P/B slices and disable some features in tests 2021-10-29 10:30:12 +03: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 852da3c4f0 [inter] Fix overflow in HMVP shifting 2021-10-29 08:36:34 +03:00
Marko Viitanen e2bdf02acc [inter] fix merge_candidates_t initialization 2021-10-26 11:50:32 +03:00
Marko Viitanen b0e6ab9f96 [inter] MVP candidate order fix and limit b0 with wpp 2021-10-25 22:57:58 +03:00
Marko Viitanen 112ce66259 [inter] Disable merge and skip modes -> inter working 2021-10-25 11:26:07 +03:00
Marko Viitanen 08766c0bb3 [inter] Fix max-merge usage 2021-10-25 11:25:23 +03:00
Marko Viitanen 899c672ed1 Make sure the dpb is more than max_num_reorder_pics 2021-10-19 10:16:04 +03:00
Ari Lemmetti d4880be6f2 Compute proper count of buffered frames for vps and sps. Use common function. 2021-10-19 02:34:32 +03:00
Marko Viitanen cc22233117 Change version to v2.1.0 2021-10-13 15:24:01 +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 b68625b869 Add correct reorder and buffering values to VPS, as they were only in SPS 2021-10-13 10:54:35 +03:00
Marko Viitanen 7918628b8e Offset output dts by -1 when num_out >= gop_len, otherwise there will be a gap of 2 dts. Fixes #310 2021-10-11 11:18:58 +03:00
Marko Viitanen 7a5eb7712b Fix merge candidate derivation order 2021-10-08 16:34:02 +03:00
Marko Viitanen a39bc69482 Move HMVP arrays to more suitable place 2021-10-08 16:33:32 +03:00
Marko Viitanen f68ba68fb2 Push HMVP item also when coding a skipped cu 2021-10-08 16:29:15 +03:00
Marko Viitanen b8ba814909 Fix mv cand selection from HMVP -> working if no merging 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 c4dcabe95b Add config parameter "parallel_merge_level" and array for hmvp 2021-10-08 16:28:54 +03:00
Marko Viitanen cb9f9381c3 [inter] Fix inter reconstruction, correct function was in wrong branch 2021-10-08 14:48:49 +03:00
Marko Viitanen 78363ccab0 Replace bitstream->simulation with cabac->only_count 2021-09-14 17:44:56 +03:00
Marko Viitanen 19ff5a21ca [alf] Fix a problem with alf and not updating the cabac contexts
* Added a bitstream coding simulation after LCU search
2021-09-14 10:03:23 +03:00
Marko Viitanen 3bbb3b7e36 [thread] Add correct wavefront dependencies when ALF is used 2021-09-13 21:34:14 +03:00
Marko Viitanen aa36c1e86b [thread] change wavefront dependencies to depend on bitstream writing instead of recon
* Possible fix for non-deterministic behaviour
2021-09-13 20:37:31 +03:00
Marko Viitanen 5271659f76 [inter] write ref pic list to the bitstream 2021-09-08 13:50:35 +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 91374e95a9 [MTS] Move chroma outside of mts search 2021-09-06 11:28:33 +03:00
Joose Sainio 276f0bf006 [jccr] fix undefined behaviour that did not really affect anything 2021-09-06 11:28:33 +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 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 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 839b9527af Fix nal unit debug printing when VERBOSE is used 2021-09-01 14:28:07 +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