Joose Sainio
|
7b117f171f
|
[mtt] WIP 16x16 TT split
|
2023-08-15 13:04:26 +03:00 |
|
Joose Sainio
|
43a710e104
|
fix rebase
|
2023-08-15 13:04:25 +03:00 |
|
Joose Sainio
|
d257376ca0
|
[mtt] Single mtt split works for everything else, except 16x16 with TT
|
2023-08-15 13:04:24 +03:00 |
|
Joose Sainio
|
26ee443d2f
|
[mtt] 64x32 and 32x64
|
2023-08-15 13:04:23 +03:00 |
|
Joose Sainio
|
ab21c7e1d7
|
[mtt] Fix sqrt adjustment, cclm calculation on edges of CTU and waip for lfnst
|
2023-08-15 13:04:22 +03:00 |
|
Joose Sainio
|
5875dc1ef4
|
[mtt] Fix counting the number of reference pixles and implement WAIP adjustment
|
2023-08-15 13:04:21 +03:00 |
|
Joose Sainio
|
b893a9268c
|
[mtt] WIP
|
2023-08-15 13:04:20 +03:00 |
|
Joose Sainio
|
5ba8d45981
|
WIP
|
2023-08-15 13:04:19 +03:00 |
|
Joose Sainio
|
70cbaae619
|
[mtt] square root adjustment for quantization
|
2023-08-15 13:04:18 +03:00 |
|
Joose Sainio
|
f19084569d
|
WIP
|
2023-08-15 13:04:17 +03:00 |
|
Joose Sainio
|
bbbd391b9e
|
[mtt] WIP
|
2023-08-15 13:03:40 +03:00 |
|
Joose Sainio
|
02a5adf768
|
[mtt] remove work_tree
|
2023-08-15 13:01:57 +03:00 |
|
Joose Sainio
|
f2abdd6424
|
[mtt] Remove work_tree_copy_down and change work_tree_copy_up not to require the whole work tree as input parameter
|
2023-08-15 13:01:56 +03:00 |
|
Joose Sainio
|
03b91992a3
|
[mtt] fix dual tree
|
2023-08-15 13:01:55 +03:00 |
|
Joose Sainio
|
536c0ff2ef
|
[quant] fix fast coeff cost
|
2023-08-15 13:01:54 +03:00 |
|
Joose Sainio
|
cf5f7658a0
|
[mtt] fix
|
2023-08-15 13:01:53 +03:00 |
|
Joose Sainio
|
1668b65f3f
|
[mtt] fix
|
2023-08-15 13:01:53 +03:00 |
|
Joose Sainio
|
e931c096db
|
[mtt] fix
|
2023-08-15 13:01:52 +03:00 |
|
Joose Sainio
|
c590e5ec73
|
[mtt] also copy top right CU
|
2023-08-15 13:01:51 +03:00 |
|
Joose Sainio
|
a1e7664db3
|
[mtt] temporarily disable zero coeff rdo
|
2023-08-15 13:01:50 +03:00 |
|
Joose Sainio
|
239ee88306
|
[mtt] fix
|
2023-08-15 13:01:49 +03:00 |
|
Joose Sainio
|
1cf1501542
|
[mtt] fix
|
2023-08-15 13:01:48 +03:00 |
|
Joose Sainio
|
924a93b60e
|
[mtt] Only initialize higher depth ctus partially
|
2023-08-15 13:01:48 +03:00 |
|
Joose Sainio
|
274e71dff6
|
[transform] Simplify chroma transform search a bit
|
2023-08-15 13:01:47 +03:00 |
|
Joose Sainio
|
58c6af8c87
|
[mtt] Add function for easily getting all split cu_locs
|
2023-08-15 13:01:46 +03:00 |
|
Joose Sainio
|
cfc6aebe3c
|
[mtt] Remove depth from cu_info_t
|
2023-08-15 13:01:45 +03:00 |
|
Joose Sainio
|
b14f6f98ec
|
[mtt] Completely remove tr_depth
|
2023-08-15 13:00:53 +03:00 |
|
Joose Sainio
|
9a29d9ded3
|
[mtt] remove depth from cbf
|
2023-08-15 13:00:51 +03:00 |
|
Joose Sainio
|
e3dbeda7f7
|
[mtt] remove dependency to depth from deblock
|
2023-08-15 13:00:50 +03:00 |
|
Joose Sainio
|
89af7bda8e
|
[mtt] remove unnecessary depth dependency from split flag
|
2023-08-15 13:00:49 +03:00 |
|
Joose Sainio
|
0b6f666a1b
|
[mtt] remove lfnst dependency to depth
|
2023-08-15 13:00:08 +03:00 |
|
Joose Sainio
|
790b1fad48
|
wip
|
2023-08-15 13:00:07 +03:00 |
|
Joose Sainio
|
6a0864839c
|
[mtt] Actually remove the last width dependency to depth
|
2023-08-15 13:00:06 +03:00 |
|
Joose Sainio
|
dcf879e5ed
|
[mtt] remove all rest usages of deriving width and height from depth
|
2023-08-15 12:59:39 +03:00 |
|
Joose Sainio
|
26dcadc149
|
[mtt] change most if not all of search hierarchy to use cu_loc_t
|
2023-08-15 12:47:11 +03:00 |
|
siivonek
|
0ec16967a1
|
[isp] Fix reference building. When ISP was in use, not enough samples were generated. Uninitialized memory was referenced. Fix some typos.
|
2023-08-14 12:21:30 +03:00 |
|
siivonek
|
b16c404362
|
[isp] Remove some obsolete TODOs and old commented out code.
|
2023-08-14 12:21:30 +03:00 |
|
siivonek
|
95d73116f9
|
[isp] Fix some CI errors. Some const modifiers were discarded.
|
2023-08-14 12:21:29 +03:00 |
|
siivonek
|
90e2a17759
|
[lfnst] Fix LFNST error when MIP enabled.
|
2023-08-14 12:21:28 +03:00 |
|
siivonek
|
7005d222d5
|
[isp] Fix lfnst constraint check when ISP is used. Remove some obsolete comments.
|
2023-08-14 12:21:28 +03:00 |
|
siivonek
|
3c861e4c02
|
[isp] Fix search. Best LFNST and MTS modes were not selected correctly for ISP modes.
|
2023-08-14 12:21:27 +03:00 |
|
siivonek
|
b4cc321349
|
[isp] Fix transform selection when MTS & ISP is used. Wrong transform was selected. Change mts parameter name to better reflect its purpose.
|
2023-08-14 12:21:26 +03:00 |
|
siivonek
|
85f6b00394
|
[isp] Add lfnst asserts. Fix error in MTS search. Fix chroma lfnst index when no coefficients present.
|
2023-08-14 12:21:26 +03:00 |
|
siivonek
|
b9822398a0
|
[isp] Fix lfnst constraint checks when ISP is in use. Add some asserts.
|
2023-08-14 12:21:25 +03:00 |
|
siivonek
|
701257cdd2
|
[isp] Remove unnecessary code from forward dct 32.
|
2023-08-14 12:21:25 +03:00 |
|
siivonek
|
89db34d4e0
|
[isp] Use TR_MAX_WIDTH in ISP checks instead of parameter.
|
2023-08-14 12:21:24 +03:00 |
|
siivonek
|
c4bc2d6b10
|
[isp] Limit ISP search to block size 32. Size 64 is not allowed.
|
2023-08-14 12:21:23 +03:00 |
|
siivonek
|
5713fbff1a
|
[isp] Add ISP checks to search. LFNST can be used with ISP for larger blocks. Transform skip cannot be used with ISP.
|
2023-08-14 12:21:22 +03:00 |
|
siivonek
|
7282534879
|
[isp] Fix CI errors.
|
2023-08-14 12:21:22 +03:00 |
|
siivonek
|
01c4d1ddb0
|
[isp] Fix cabac issues. There are always four transform blocks even if there are only two ISP splits. Fix prediction issues. PDPC filter was applied when it should be disabled. Fix reference building issues. Left reference was built incorrectly for blocks with height 2.
|
2023-08-14 12:21:21 +03:00 |
|
siivonek
|
b8e36bbc4a
|
[isp] Fix storing cbfs for small ISP splits. Fix pdpc filtering. Cannot be used if width or height is less than 4. Fix dct related CI errors.
|
2023-08-14 12:21:20 +03:00 |
|
siivonek
|
99495c331b
|
[isp] Fix some asserts to allow log2_dim 1 block sizes. Fix coefficient group scan order for small dimensions.
|
2023-08-14 12:21:19 +03:00 |
|
siivonek
|
d39fddf0d8
|
[isp] Implement DCT for small blocks.
|
2023-08-14 12:21:19 +03:00 |
|
siivonek
|
910501012f
|
[isp] Fix referene building for depth 2 blocks. Flip horizontal mode dimensions during prediction. Fix reference length during prediction when ISP enabled.
|
2023-08-14 12:21:18 +03:00 |
|
siivonek
|
7ba557af6b
|
[isp] Fix luma cbf writing for ISP splits. Do not write luma cbf if first three splits had luma cbf 0.
|
2023-08-14 12:21:17 +03:00 |
|
siivonek
|
a28e61eff7
|
[isp] Fix CI errors.
|
2023-08-14 12:21:17 +03:00 |
|
siivonek
|
4794104ecc
|
[isp] Fix errors in reference building. Use cubic filter during prediction if ISP enabled.
|
2023-08-14 12:21:16 +03:00 |
|
Joose Sainio
|
662f31d61d
|
[isp] Use correct coordinates for depth 4 chroma tu cost calculation
|
2023-08-14 12:17:36 +03:00 |
|
Joose Sainio
|
08942a5394
|
[tr-skip] fix transform skip flag writing
|
2023-08-14 12:17:35 +03:00 |
|
siivonek
|
a261d4c5b3
|
[isp] WIP
|
2023-08-14 12:17:34 +03:00 |
|
siivonek
|
6340dfe4ce
|
[isp] Fix mistake in pu_loc argument passing, was not used after passing.
|
2023-08-14 12:17:33 +03:00 |
|
Joose Sainio
|
88c33c0489
|
[lfnst] Fix lfnst constraint checking for the new coeff order
|
2023-08-14 12:17:33 +03:00 |
|
Joose Sainio
|
e0e96068cc
|
[lfnst] lfnst is not allowed for transform split
|
2023-08-14 12:17:32 +03:00 |
|
Joose Sainio
|
cb7f9919e3
|
[jccr] Fix jccr coefficient copying
|
2023-08-14 12:17:32 +03:00 |
|
Joose Sainio
|
3e23fd0601
|
[cabac] fix cbf_y context for tr splits
|
2023-08-14 12:17:31 +03:00 |
|
siivonek
|
59292d8808
|
[isp] Add extra logic to reference building to accommodate ISP. Remove some asserts which were invalidated by ISP.
|
2023-08-14 12:17:31 +03:00 |
|
siivonek
|
33cd44f11b
|
[isp] Fix chroma coeff writing for ISP.
|
2023-08-14 12:17:30 +03:00 |
|
siivonek
|
d8d206365c
|
[isp] Fix jccr coeffs.
|
2023-08-14 12:17:29 +03:00 |
|
siivonek
|
7398e58431
|
[isp] Fix coeff cost calculation. Coeff arrays were indexed wrongly.
|
2023-08-14 12:17:29 +03:00 |
|
siivonek
|
d050efcb87
|
[isp] Fix error in last sig coeff function call. Height was not used. Fix cbf writing. Fix transform skip flag writing.
|
2023-08-14 12:17:28 +03:00 |
|
siivonek
|
33ae02aae0
|
[isp] Fix mistake in isp cbf writing. Loop index was increased twice.
|
2023-08-14 12:17:28 +03:00 |
|
siivonek
|
4a21039e23
|
[isp] Fix mistake in function declaration.
|
2023-08-14 12:17:27 +03:00 |
|
siivonek
|
b8506c757c
|
[isp] Convert functions to handle new coeff array order. Add function for getting coeff array subset. Fix assert.
|
2023-08-14 12:17:26 +03:00 |
|
siivonek
|
69dcb04c99
|
[isp] Use temporary coeff array when quantizing coeffs. After deriving coeffs, copy temp coeffs from linear order to correct arrays with cu order.
|
2023-08-14 12:17:26 +03:00 |
|
siivonek
|
0ae71feae4
|
[isp] Fix assert.
|
2023-08-14 12:17:25 +03:00 |
|
siivonek
|
2e8f008de4
|
[isp] Redo call hierarchy to include x, y coordinates.
|
2023-08-14 12:17:24 +03:00 |
|
siivonek
|
10f9b2be26
|
[isp] Keep lfnst constraint up to date during search.
|
2023-08-14 12:16:42 +03:00 |
|
siivonek
|
39f30563c5
|
[isp] Fix chroma width error when writing cu loc. Remove redundant IPS mode checks.
|
2023-08-14 12:16:42 +03:00 |
|
siivonek
|
b53308f258
|
[isp] Fix mistake in setting cbfs. Skip stting if ISP is not used.
|
2023-08-14 12:16:41 +03:00 |
|
siivonek
|
56ebea7358
|
[isp] Set cbfs for isp splits after search. Add helper function for isp split number.
|
2023-08-14 12:16:40 +03:00 |
|
siivonek
|
510798cb3d
|
[isp] Fix mistake in isp cabac write. Intra luma mpm flag bit was checking isp when it did not need to.
|
2023-08-14 12:16:40 +03:00 |
|
siivonek
|
f86dc29ce7
|
[isp] Fix mistake in cost calculation. Remove some commented out code blocks.
|
2023-08-14 12:16:39 +03:00 |
|
siivonek
|
bbb8faea98
|
[isp] Modify encode transform coeff func to handle non-square blocks, use cu_loc_t where possible. Fix mistake in mts idct generic.
|
2023-08-14 12:16:38 +03:00 |
|
siivonek
|
7062697beb
|
[isp] Resolve TODOs. Make scan order tables const.
|
2023-08-14 12:16:37 +03:00 |
|
siivonek
|
93317cafa4
|
[isp] Write isp config bit to sps.
|
2023-08-14 12:16:37 +03:00 |
|
siivonek
|
182d0f4e66
|
[isp] Remove old_scan tables and related asserts. Fix coefficient group indexing.
|
2023-08-14 12:16:36 +03:00 |
|
siivonek
|
f8641f7436
|
[isp] Fix assert. Implement coef cost calculation for isp splits.
|
2023-08-14 12:16:35 +03:00 |
|
siivonek
|
ae0336fdfc
|
[isp] Add non-square block handling to functions.
|
2023-08-14 12:16:34 +03:00 |
|
siivonek
|
031a758d6c
|
[isp] Count isp cbfs.
|
2023-08-14 12:16:01 +03:00 |
|
siivonek
|
75175ee2e2
|
[isp] Fix isp search.
|
2023-08-14 12:16:00 +03:00 |
|
siivonek
|
8d914ce849
|
[isp] Implement coefficient encoding for isp splits. Make get_split_dim non static, it was needed elsewhere after all.
|
2023-08-14 12:15:59 +03:00 |
|
siivonek
|
573ecf80e3
|
[isp] Move can_use_lfnst_with_isp to intra.c. Remove duplicate functions. Move isp related functions from search to intra. Make isp_split_dim static. Move isp related defines from search to intra.
|
2023-08-14 12:15:58 +03:00 |
|
siivonek
|
bcbd952dfd
|
[isp] Add height handling to avx2 reconstruction.
|
2023-08-14 12:15:57 +03:00 |
|
siivonek
|
7c340fd92b
|
[isp] Add height to inverse transform skip.
|
2023-08-14 12:15:56 +03:00 |
|
siivonek
|
318d925028
|
[isp] Add new convert_to_log2 table. Change all instances which used old convert_to_bit table to change dimensions into log2.
|
2023-08-14 12:15:55 +03:00 |
|
siivonek
|
6922157ed3
|
[isp] Fix quantization function calls. Some were not getting height as input.
|
2023-08-14 12:15:54 +03:00 |
|
siivonek
|
50ad91a94e
|
[isp] Modify quantization functions to work with non-square blocks.
|
2023-08-14 12:15:53 +03:00 |
|
siivonek
|
31c8f1356f
|
[isp] Add height to sig coeff group context calculation function.
|
2023-08-14 12:15:53 +03:00 |
|
siivonek
|
936256e750
|
[isp] Fix sig coeff flag context calculation function call. Width & height was swapped.
|
2023-08-14 12:15:52 +03:00 |
|
siivonek
|
9e7f4eac99
|
[isp] Change variable name 'type' to 'color'.
|
2023-08-14 12:15:51 +03:00 |
|
siivonek
|
09b905c6c4
|
[isp] Add height to get_tr_type function.
|
2023-08-14 12:15:51 +03:00 |
|
siivonek
|
8b7d573ae7
|
[isp] Add height to idct getter function. Check block dimensions in transform 2d functions.
|
2023-08-14 12:15:50 +03:00 |
|
siivonek
|
370bd07c55
|
[isp] Fix error in mts dct and idct.
|
2023-08-14 12:15:49 +03:00 |
|
siivonek
|
3a874ab5dd
|
[isp] Comment out dct non square function. It is not needed since mts dct function will handle transform for non square blocks.
|
2023-08-14 12:15:49 +03:00 |
|
siivonek
|
f9116441da
|
[isp] Fix avx2 function call. Missing height parameter.
|
2023-08-14 12:15:48 +03:00 |
|
siivonek
|
6f756e831d
|
[isp] Uncomment old scan order code to test against new one. Add assert to ensure old and new tables are the same.
|
2023-08-14 12:15:47 +03:00 |
|
siivonek
|
c4d1f80f8f
|
[isp] Fix error in scan order getter. Change define names to better reflect what they do. Add more accurate bookmark comments to scan order buffer table.
|
2023-08-14 12:15:46 +03:00 |
|
siivonek
|
8131e970e5
|
[isp] Modify existing scan table calls to use new getter. Add safety assert to getter.
|
2023-08-14 12:15:46 +03:00 |
|
siivonek
|
6ff9ae074e
|
[isp] Add scan order getter. Add bookmark comments to scan order buffer.
|
2023-08-14 12:15:45 +03:00 |
|
siivonek
|
55d77c6b50
|
[isp] Add scan order tables for all possible block sizes.
|
2023-08-14 12:15:45 +03:00 |
|
siivonek
|
35271648db
|
[isp] Fix some errors. Pass height to functions. Some WIP comments.
|
2023-08-14 12:15:44 +03:00 |
|
siivonek
|
a9090c99b5
|
[isp] Fix error in inverse transform shifting.
|
2023-08-14 12:15:43 +03:00 |
|
siivonek
|
cd7e091992
|
[isp] Fix mistake in transform if clause.
|
2023-08-14 12:15:43 +03:00 |
|
siivonek
|
6a3ddfd0bc
|
[isp] Modify inverse transform to handle non-square blocks.
|
2023-08-14 12:15:42 +03:00 |
|
siivonek
|
626c9b02ea
|
[isp] Modify transform and quantization functions to handle non-square blocks. Add strategy headers to CMakelist.
|
2023-08-14 12:15:41 +03:00 |
|
siivonek
|
06532dce02
|
[isp] Implement ISP search and partitioning. Add helper function for constructing cu_loc types. WIP stuff for transform.
|
2023-08-14 12:15:40 +03:00 |
|
siivonek
|
6236cc29be
|
[isp] Fix avx2 function call.
|
2023-08-14 12:15:39 +03:00 |
|
siivonek
|
ec4909095c
|
[isp] Do not filter references if ISP is used.
|
2023-08-14 12:15:38 +03:00 |
|
siivonek
|
96df3ffd64
|
[isp] Change function calls to cu_loc_t.
|
2023-08-14 12:15:38 +03:00 |
|
siivonek
|
9406c5c31d
|
[isp] Modify generic intra pred functions to handle non-square blocks.
|
2023-08-14 12:15:37 +03:00 |
|
siivonek
|
03b22e561e
|
[isp] Add ISP command line option.
|
2023-08-14 12:15:36 +03:00 |
|
Marko Viitanen
|
1a1fea1a19
|
Merge branch 'implement_ibc'
|
2023-08-09 09:34:29 +03:00 |
|
Marko Viitanen
|
18b4a8be79
|
[ibc] Include the chroma in crc
|
2023-07-27 10:58:20 +03:00 |
|
Marko Viitanen
|
20875a9819
|
[ibc] Calculate hashes every 4 pixels and change the IBC costs a bit
|
2023-07-27 10:29:55 +03:00 |
|
Marko Viitanen
|
0fefd3f621
|
[ibc] Add hash based starting point finder for reqular inter search *experimental*
|
2023-07-24 22:55:52 +03:00 |
|
Marko Viitanen
|
6f4d538f4f
|
[ibc] Clean up the ibc search, utilize hash based starting points if ibc=2
|
2023-07-24 22:07:22 +03:00 |
|
Marko Viitanen
|
6fe629e666
|
[ibc] A bit of cleanup and skip IBC search if cost is already less than 500
|
2023-07-21 20:40:00 +03:00 |
|
Marko Viitanen
|
3cef3c0119
|
Change the hardcoded general_level_idc from 5.2 to 6.3
|
2023-07-21 20:19:43 +03:00 |
|
Marko Viitanen
|
95dc4aa0cb
|
[ibc] Fix the IBC buffer limitation, 256x64 pixels allowed
|
2023-07-21 20:15:24 +03:00 |
|
Marko Viitanen
|
8ff184a6b3
|
[ibc] Fill the IBC hashmap at the start of LCU search and use reverse map for "pos to hash"
|
2023-07-21 20:14:23 +03:00 |
|
Marko Viitanen
|
457d650f49
|
[ibc] Fix for CRC calculations
- Input for the 64bit crc intrinsic was 32bit
|
2023-07-19 09:57:24 +03:00 |
|
Marko Viitanen
|
15fb6f8183
|
[ibc] Add first version of the IBC hash search
|
2023-06-29 21:57:06 +03:00 |
|
Marko Viitanen
|
8cec02280f
|
[ibc] Use IBC hashmap in LCU row basis
|
2023-06-28 23:06:04 +03:00 |
|
Marko Viitanen
|
76d66591c5
|
[ibc] Implement CRC for 8x8 block and generate a full hashmap at the frame load
|
2023-06-26 21:24:10 +03:00 |
|
Marko Viitanen
|
4b1f5ca7e2
|
[ibc] Add the hashmap to the frame and fix some small issues with hashmap and crc32c
- crc32c_4x4 strategy was not working, made some changes to the initialization
|
2023-06-22 21:44:49 +03:00 |
|
Marko Viitanen
|
30321e6dd4
|
[ibc] Fix uvg_hashmap_hash definition
|
2023-06-22 14:45:05 +03:00 |
|
Marko Viitanen
|
a32a318d18
|
[ibc] Add CRC32C functions, with SSE 4.2 optimized CRC calculations
|
2023-06-22 14:39:56 +03:00 |
|
Marko Viitanen
|
7252befc17
|
[ibc] Add a hashmap implementation for IBC hash search
|
2023-06-22 14:39:56 +03:00 |
|
Marko Viitanen
|
68382f9e25
|
[ibc] Handle 4x4 block cases
|
2023-06-22 14:39:55 +03:00 |
|
Marko Viitanen
|
31fbf453c1
|
[ibc] Fix IBCFlag writing with I-frames and clean up some code
|
2023-06-22 14:39:55 +03:00 |
|
Marko Viitanen
|
8aded6406b
|
[ibc] Fix issue in search
|
2023-05-08 12:26:06 +03:00 |
|
Marko Viitanen
|
34c7c432f9
|
[ibc] Fix deblocking for the IBC blocks
|
2023-05-08 11:58:40 +03:00 |
|
Joose Sainio
|
e636db489f
|
[cfg] Parameterize intra rough search granularity
|
2022-09-28 08:49:38 +03:00 |
|
Joose Sainio
|
ed6a0528fe
|
Further make things faster
|
2022-08-30 15:17:05 +03:00 |
|
Joose Sainio
|
b0b2b0e536
|
Try making ultrafast all intra a bit faster
|
2022-08-29 14:11:08 +03:00 |
|
Marko Viitanen
|
6de2e2d581
|
[ibc] Fix some git merge issues and IBC merge candidate selection
|
2022-08-03 10:46:02 +03:00 |
|
Marko Viitanen
|
6a0e2a062d
|
[ibc] Implement a proper search for IBC based on Inter search
|
2022-07-29 11:53:11 +03:00 |
|
Marko Viitanen
|
65c017c2f2
|
[ibc] Add check for above block in IBC search
|
2022-07-29 11:53:11 +03:00 |
|
Marko Viitanen
|
09e62a68fe
|
[ibc] Fix merge candidate selection bug and IBC HMVP size reset at the start of the lcu row
|
2022-07-29 11:53:10 +03:00 |
|
Marko Viitanen
|
d288cc46e9
|
[ibc] Fix coding of IBC in P and B slices, enable in search
|
2022-07-29 11:53:10 +03:00 |
|
Marko Viitanen
|
48584eead9
|
[ibc] Reset the jccr flags to fix a bug with IBC
|
2022-07-29 11:53:10 +03:00 |
|
Marko Viitanen
|
7ce01b4826
|
[ibc] Tune search costs a bit and revert debug vector scaling
|
2022-07-29 11:53:09 +03:00 |
|
Marko Viitanen
|
0fdf96fab2
|
[ibc] Change internal MV storage to INTERNAL_MV_PREC and code it as full-pel
|
2022-07-29 11:53:09 +03:00 |
|
Marko Viitanen
|
cc4c757695
|
[ibc] Fix bugs on IBC reconstruction and add a simple search for I-frames
|
2022-07-29 11:53:08 +03:00 |
|
Marko Viitanen
|
d9164f3cfe
|
[ibc] Simplify the IBC merge candidate and mv cand selection
|
2022-07-29 11:53:08 +03:00 |
|
Marko Viitanen
|
a46a4531a3
|
[ibc] Add HMVP for IBC and correct AMVP selection
|
2022-07-29 11:52:17 +03:00 |
|
Marko Viitanen
|
dbc2006ba9
|
[ibc] Implement IBC reconstruction function when blocks are completely in the ibc buffer
|
2022-07-29 11:52:16 +03:00 |
|
Marko Viitanen
|
b49d32af21
|
[ibc] Add IBC buffers
|
2022-07-29 11:52:15 +03:00 |
|
Marko Viitanen
|
6ec4c37b47
|
[ibc] Add IBC Flag context and code the bits, disable by default for now
|
2022-07-29 11:49:49 +03:00 |
|
Marko Viitanen
|
20d0a9b65e
|
[ibc] Add --ibc parameter and config values for Intra Block Copy
|
2022-07-29 11:49:49 +03:00 |
|
Marko Viitanen
|
cd2d4066d5
|
Fix scaled MV clipping and remove some unused variables
|
2022-07-28 13:59:11 +03:00 |
|
Marko Viitanen
|
3dd738ebb5
|
Fix mv_t rounding problems in some functions
|
2022-07-27 13:02:37 +03:00 |
|
Marko Viitanen
|
5ce1035291
|
[debug] Fix Motion Vector debug code not to overflow on videos not divisible by LCU_WIDTH
|
2022-07-27 12:48:39 +03:00 |
|
Marko Viitanen
|
b7b7c22e44
|
Change mv_t to int32_t because of possible overflow in large videos
|
2022-07-27 12:48:39 +03:00 |
|
Joose Sainio
|
ea32ef33ac
|
[lfnst] handle transform skip correctly during search
|
2022-07-08 10:57:26 +03:00 |
|
Joose Sainio
|
03fb6ce92e
|
[lfnst] Fix lfnst+tr_skip for dual tree
|
2022-07-08 10:57:26 +03:00 |
|
Joose Sainio
|
450cd00290
|
[mts] Fix cost calculation
|
2022-07-08 10:56:35 +03:00 |
|
Joose Sainio
|
f9212b4e44
|
[mts] Don't do tr-skip when tr-skip is disabled
|
2022-07-06 15:15:28 +03:00 |
|
Joose Sainio
|
dc7c8eeb41
|
[tr-skip] fix uvg_encode_ts_residual
|
2022-07-06 10:51:01 +03:00 |
|
Joose Sainio
|
427d611a00
|
[intra] Perform chroma search for rd2
|
2022-07-05 12:29:27 +03:00 |
|
Joose Sainio
|
e2c34e7c25
|
[lfnst] Fix lfnst for --rd 2
|
2022-07-05 12:19:21 +03:00 |
|
Joose Sainio
|
02aa36f1a2
|
[tests] Fix final issue with avx2 satd and update test results
|
2022-07-05 10:28:59 +03:00 |
|
Joose Sainio
|
42adfb52a7
|
[satd] Satd scaling on avx2 implementations and re-enable satd tests
|
2022-07-05 09:34:59 +03:00 |
|
Joose Sainio
|
1f6a62e70e
|
[fix-up] Force lfnst off when trying the mode from below depth block
|
2022-07-04 13:45:16 +03:00 |
|
Joose Sainio
|
3de4b99aec
|
[jccr] Fix cost calculation
|
2022-07-04 13:41:14 +03:00 |
|
Joose Sainio
|
3a6414c31d
|
[dual-tree] Fix deblock
|
2022-06-30 14:21:03 +03:00 |
|
Joose Sainio
|
5fefea025f
|
[lfnst] get constarints for jccr mode
|
2022-06-29 16:35:55 +03:00 |
|
Joose Sainio
|
b35a75b2eb
|
[lfnst] Fix lfnst with rdoq
|
2022-06-29 16:25:25 +03:00 |
|
Joose Sainio
|
6ef532775b
|
[intra] Fix various issues with cclm, mip, dual-tree, and lfnst
|
2022-06-29 15:09:34 +03:00 |
|
Joose Sainio
|
06d277bc78
|
[doc] update manpage and readme
|
2022-06-28 16:25:25 +03:00 |
|
Joose Sainio
|
68243e284f
|
[cleanup] fix warnings
|
2022-06-28 16:02:22 +03:00 |
|
Joose Sainio
|
b4ab9debf1
|
[lfnst] fix lfnst with cclm
|
2022-06-28 15:32:34 +03:00 |
|
Joose Sainio
|
e25ea52f6f
|
[lfnst] Fix mistakes
|
2022-06-28 15:32:33 +03:00 |
|
Joose Sainio
|
2fbbae834b
|
[cclm] fix cclm for 4x4
|
2022-06-28 15:32:33 +03:00 |
|
Joose Sainio
|
b8b603feb7
|
[lfnst] fix compile
|
2022-06-28 15:32:33 +03:00 |
|
Joose Sainio
|
a0dd412811
|
[cclm] fix cclm bound calculation
|
2022-06-28 15:32:32 +03:00 |
|
Joose Sainio
|
75e500da10
|
[lfnst] LFNST working with dual tree
|
2022-06-28 15:32:32 +03:00 |
|
Joose Sainio
|
faba18fe17
|
[dual-tree] only perform lfnst search when lfnst is enabled
|
2022-06-28 15:32:32 +03:00 |
|
Joose Sainio
|
d16d6e3dd8
|
[dual-tree] [lfnst] allow counting lfnst bits for chroma in dual-tree
|
2022-06-28 15:32:31 +03:00 |
|
Joose Sainio
|
37590add20
|
[lfnst] [dual-tree] LFNST should work with dual tree
|
2022-06-28 15:32:31 +03:00 |
|
Joose Sainio
|
6c7dc9004c
|
[dual-tree] Fix split context state updating
|
2022-06-28 15:32:31 +03:00 |
|
Joose Sainio
|
b0d616b03c
|
[dual-tree][tests] Fix some issues and enable cabac state test to test for dual tree
|
2022-06-28 15:32:30 +03:00 |
|
Joose Sainio
|
345c50ecee
|
[dual-tree] rename kvz_ to uvg_
|
2022-06-28 15:32:30 +03:00 |
|
Joose Sainio
|
3f12ee58b0
|
[dual-tree] fix --pu-depth-intra 4-4 for dual tree
|
2022-06-28 15:32:30 +03:00 |
|
Joose Sainio
|
b8215baa30
|
[dual-tree] Fix CCLM+dual tree
|
2022-06-28 15:32:30 +03:00 |
|
Joose Sainio
|
cf144e2724
|
[dual-tree] Works for all depths with basic tools
|
2022-06-28 15:32:29 +03:00 |
|
Joose Sainio
|
1c313e9c19
|
[dual-tree] works for depths 1 and 2
|
2022-06-28 15:32:29 +03:00 |
|
Joose Sainio
|
15cb06ded1
|
[dual-tree] Fix at least for implicit splits
|
2022-06-28 15:32:29 +03:00 |
|
Joose Sainio
|
ed8496e57e
|
[dual-tree] Matches except for cutoff bottom CTUs for forced depth=1
|
2022-06-28 15:32:28 +03:00 |
|
Joose Sainio
|
2017cb122a
|
[dual-tree] Actually does whole frame
|
2022-06-28 15:32:28 +03:00 |
|