Joose Sainio
|
80bd15e6c7
|
[mtt] fix
|
2022-11-24 09:22:17 +02:00 |
|
Joose Sainio
|
97001eab7f
|
[mtt] fix
|
2022-11-24 09:22:17 +02:00 |
|
Joose Sainio
|
0b4d215456
|
[mtt] fix
|
2022-11-24 09:22:17 +02:00 |
|
Joose Sainio
|
a2ddb630e4
|
[mtt] also copy top right CU
|
2022-11-24 09:22:16 +02:00 |
|
Joose Sainio
|
1f3d21362f
|
[mtt] temporarily disable zero coeff rdo
|
2022-11-24 09:22:16 +02:00 |
|
Joose Sainio
|
eda0ead6f4
|
[mtt] fix
|
2022-11-24 09:22:16 +02:00 |
|
Joose Sainio
|
c9c331ed38
|
[mtt] fix
|
2022-11-24 09:22:16 +02:00 |
|
Joose Sainio
|
d538061142
|
[mtt] Only initialize higher depth ctus partially
|
2022-11-24 09:22:16 +02:00 |
|
Joose Sainio
|
11abe38295
|
[transform] Simplify chroma transform search a bit
|
2022-11-24 09:22:16 +02:00 |
|
Joose Sainio
|
ec72cbf3ea
|
[mtt] Add function for easily getting all split cu_locs
|
2022-11-24 09:22:15 +02:00 |
|
Joose Sainio
|
b6c36f07ac
|
[mtt] Remove depth from cu_info_t
|
2022-11-24 09:22:15 +02:00 |
|
Joose Sainio
|
72196bbadb
|
[mtt] Completely remove tr_depth
|
2022-11-24 09:20:50 +02:00 |
|
Joose Sainio
|
97507b6c30
|
[mtt] remove depth from cbf
|
2022-11-24 09:19:47 +02:00 |
|
Joose Sainio
|
97296022a3
|
[mtt] remove dependency to depth from deblock
|
2022-11-24 09:19:25 +02:00 |
|
Joose Sainio
|
6b15346841
|
[mtt] remove unnecessary depth dependency from split flag
|
2022-11-24 09:19:25 +02:00 |
|
Joose Sainio
|
ce754ba991
|
[mtt] remove lfnst dependency to depth
|
2022-11-24 09:19:25 +02:00 |
|
Joose Sainio
|
cdc3b40733
|
wip
|
2022-11-24 09:17:22 +02:00 |
|
Joose Sainio
|
bfa91a009a
|
[mtt] Actually remove the last width dependency to depth
|
2022-11-24 09:15:25 +02:00 |
|
Joose Sainio
|
2e81b73e12
|
[mtt] remove all rest usages of deriving width and height from depth
|
2022-11-24 09:12:59 +02:00 |
|
Joose Sainio
|
0134f07949
|
[mtt] change most if not all of search hierarchy to use cu_loc_t
|
2022-11-24 09:06:14 +02:00 |
|
siivonek
|
36cda011e0
|
[isp] Fix reference building. When ISP was in use, not enough samples were generated. Uninitialized memory was referenced. Fix some typos.
|
2022-10-12 16:19:22 +03:00 |
|
siivonek
|
a637b44d31
|
[isp] Remove some obsolete TODOs and old commented out code.
|
2022-10-11 16:11:14 +03:00 |
|
siivonek
|
ce2c9331de
|
[isp] Fix some CI errors. Some const modifiers were discarded.
|
2022-10-03 13:13:56 +03:00 |
|
siivonek
|
aa696dd17a
|
[lfnst] Fix LFNST error when MIP enabled.
|
2022-09-29 15:41:33 +03:00 |
|
siivonek
|
0b44c429bd
|
[isp] Fix lfnst constraint check when ISP is used. Remove some obsolete comments.
|
2022-09-28 12:38:02 +03:00 |
|
siivonek
|
c4660d7686
|
[isp] Fix search. Best LFNST and MTS modes were not selected correctly for ISP modes.
|
2022-09-27 14:10:03 +03:00 |
|
siivonek
|
db20e998b0
|
[isp] Fix transform selection when MTS & ISP is used. Wrong transform was selected. Change mts parameter name to better reflect its purpose.
|
2022-09-27 13:12:10 +03:00 |
|
siivonek
|
bd2e588a22
|
[isp] Add lfnst asserts. Fix error in MTS search. Fix chroma lfnst index when no coefficients present.
|
2022-09-26 14:44:51 +03:00 |
|
siivonek
|
6975febccf
|
[isp] Fix lfnst constraint checks when ISP is in use. Add some asserts.
|
2022-09-23 15:41:50 +03:00 |
|
siivonek
|
85029fc2ca
|
[isp] Remove unnecessary code from forward dct 32.
|
2022-09-22 16:49:09 +03:00 |
|
siivonek
|
785ae95302
|
[isp] Use TR_MAX_WIDTH in ISP checks instead of parameter.
|
2022-09-22 14:28:40 +03:00 |
|
siivonek
|
18fca3798b
|
[isp] Limit ISP search to block size 32. Size 64 is not allowed.
|
2022-09-21 12:55:07 +03:00 |
|
siivonek
|
e9c3351460
|
[isp] Add ISP checks to search. LFNST can be used with ISP for larger blocks. Transform skip cannot be used with ISP.
|
2022-09-20 17:44:10 +03:00 |
|
siivonek
|
d553bbba8a
|
[isp] Fix CI errors.
|
2022-09-20 16:15:23 +03:00 |
|
siivonek
|
80945c985a
|
[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.
|
2022-09-20 15:16:14 +03:00 |
|
siivonek
|
e8779fc175
|
[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.
|
2022-09-16 15:46:31 +03:00 |
|
siivonek
|
c46abbdaa1
|
[isp] Fix some asserts to allow log2_dim 1 block sizes. Fix coefficient group scan order for small dimensions.
|
2022-09-16 10:37:51 +03:00 |
|
siivonek
|
19106bfced
|
[isp] Implement DCT for small blocks.
|
2022-09-15 13:45:45 +03:00 |
|
siivonek
|
c894e9c6b9
|
[isp] Fix referene building for depth 2 blocks. Flip horizontal mode dimensions during prediction. Fix reference length during prediction when ISP enabled.
|
2022-09-14 15:48:49 +03:00 |
|
siivonek
|
124cdd4e4a
|
[isp] Fix luma cbf writing for ISP splits. Do not write luma cbf if first three splits had luma cbf 0.
|
2022-09-13 13:27:16 +03:00 |
|
siivonek
|
75d4de20e3
|
[isp] Fix CI errors.
|
2022-09-12 15:29:53 +03:00 |
|
siivonek
|
dda36aef4c
|
[isp] Fix errors in reference building. Use cubic filter during prediction if ISP enabled.
|
2022-09-12 14:41:44 +03:00 |
|
Joose Sainio
|
1bd3a4cb55
|
[isp] Use correct coordinates for depth 4 chroma tu cost calculation
|
2022-09-06 09:30:46 +03:00 |
|
Joose Sainio
|
68263f428b
|
[tr-skip] fix transform skip flag writing
|
2022-09-06 08:49:22 +03:00 |
|
siivonek
|
a7b26f329e
|
[isp] WIP
|
2022-09-05 18:14:59 +03:00 |
|
siivonek
|
790deb2504
|
[isp] Fix mistake in pu_loc argument passing, was not used after passing.
|
2022-09-05 16:57:07 +03:00 |
|
Joose Sainio
|
60ccdbf853
|
[lfnst] Fix lfnst constraint checking for the new coeff order
|
2022-09-05 16:51:23 +03:00 |
|
Joose Sainio
|
17abc7a050
|
[lfnst] lfnst is not allowed for transform split
|
2022-09-05 12:04:21 +03:00 |
|
Joose Sainio
|
bbae4e2b07
|
[jccr] Fix jccr coefficient copying
|
2022-09-05 11:20:09 +03:00 |
|
Joose Sainio
|
95b6ddbe67
|
[cabac] fix cbf_y context for tr splits
|
2022-09-05 11:10:55 +03:00 |
|
siivonek
|
42bea563e4
|
[isp] Add extra logic to reference building to accommodate ISP. Remove some asserts which were invalidated by ISP.
|
2022-09-02 16:10:42 +03:00 |
|
siivonek
|
b49a4d0a57
|
[isp] Fix chroma coeff writing for ISP.
|
2022-08-31 14:54:30 +03:00 |
|
siivonek
|
043e502a4f
|
[isp] Fix jccr coeffs.
|
2022-08-31 13:57:00 +03:00 |
|
siivonek
|
9557a20c7f
|
[isp] Fix coeff cost calculation. Coeff arrays were indexed wrongly.
|
2022-08-31 13:53:17 +03:00 |
|
siivonek
|
def855a027
|
[isp] Fix error in last sig coeff function call. Height was not used. Fix cbf writing. Fix transform skip flag writing.
|
2022-08-31 12:28:57 +03:00 |
|
siivonek
|
a7be4496d5
|
[isp] Fix mistake in isp cbf writing. Loop index was increased twice.
|
2022-08-30 12:06:43 +03:00 |
|
siivonek
|
c9291ec5a2
|
[isp] Fix mistake in function declaration.
|
2022-08-29 12:37:23 +03:00 |
|
siivonek
|
3c5479f99b
|
[isp] Convert functions to handle new coeff array order. Add function for getting coeff array subset. Fix assert.
|
2022-08-26 16:39:57 +03:00 |
|
siivonek
|
125a3106d6
|
[isp] Use temporary coeff array when quantizing coeffs. After deriving coeffs, copy temp coeffs from linear order to correct arrays with cu order.
|
2022-08-24 18:45:13 +03:00 |
|
siivonek
|
e245c2ac6e
|
[isp] Fix assert.
|
2022-08-24 17:12:50 +03:00 |
|
siivonek
|
efc0f13501
|
[isp] Redo call hierarchy to include x, y coordinates.
|
2022-08-24 17:12:36 +03:00 |
|
siivonek
|
7d7e22fbfb
|
[isp] Keep lfnst constraint up to date during search.
|
2022-08-24 16:00:53 +03:00 |
|
siivonek
|
4ffbbee606
|
[isp] Fix chroma width error when writing cu loc. Remove redundant IPS mode checks.
|
2022-08-24 15:40:14 +03:00 |
|
siivonek
|
1c989906e5
|
[isp] Fix mistake in setting cbfs. Skip stting if ISP is not used.
|
2022-08-24 15:11:01 +03:00 |
|
siivonek
|
bc3bf8a08c
|
[isp] Set cbfs for isp splits after search. Add helper function for isp split number.
|
2022-08-24 13:05:59 +03:00 |
|
siivonek
|
35886671df
|
[isp] Fix mistake in isp cabac write. Intra luma mpm flag bit was checking isp when it did not need to.
|
2022-08-23 13:20:57 +03:00 |
|
siivonek
|
1125248046
|
[isp] Fix mistake in cost calculation. Remove some commented out code blocks.
|
2022-08-22 14:39:36 +03:00 |
|
siivonek
|
25e0c48633
|
[isp] Modify encode transform coeff func to handle non-square blocks, use cu_loc_t where possible. Fix mistake in mts idct generic.
|
2022-08-21 12:46:07 +03:00 |
|
siivonek
|
4c5ca63632
|
[isp] Resolve TODOs. Make scan order tables const.
|
2022-08-19 15:05:22 +03:00 |
|
siivonek
|
4ae6b780b3
|
[isp] Write isp config bit to sps.
|
2022-08-18 15:55:23 +03:00 |
|
siivonek
|
f0ff249035
|
[isp] Remove old_scan tables and related asserts. Fix coefficient group indexing.
|
2022-08-18 15:40:26 +03:00 |
|
siivonek
|
fae833c4d2
|
[isp] Fix assert. Implement coef cost calculation for isp splits.
|
2022-08-18 15:22:17 +03:00 |
|
siivonek
|
943ae415db
|
[isp] Add non-square block handling to functions.
|
2022-08-18 15:07:22 +03:00 |
|
siivonek
|
eb5e24c15d
|
[isp] Count isp cbfs.
|
2022-08-18 14:03:53 +03:00 |
|
siivonek
|
d9b03ab399
|
[isp] Fix isp search.
|
2022-08-18 13:33:29 +03:00 |
|
siivonek
|
6a9ca94d25
|
[isp] Implement coefficient encoding for isp splits. Make get_split_dim non static, it was needed elsewhere after all.
|
2022-08-17 16:42:22 +03:00 |
|
siivonek
|
27a735ab5a
|
[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.
|
2022-08-17 15:33:03 +03:00 |
|
siivonek
|
59846c6842
|
[isp] Add height handling to avx2 reconstruction.
|
2022-08-16 16:37:12 +03:00 |
|
siivonek
|
3476d65296
|
[isp] Add height to inverse transform skip.
|
2022-08-16 15:52:30 +03:00 |
|
siivonek
|
4a57dc8cc7
|
[isp] Add new convert_to_log2 table. Change all instances which used old convert_to_bit table to change dimensions into log2.
|
2022-08-16 15:00:15 +03:00 |
|
siivonek
|
db0071555d
|
[isp] Fix quantization function calls. Some were not getting height as input.
|
2022-08-16 14:05:18 +03:00 |
|
siivonek
|
3bc5dcff27
|
[isp] Modify quantization functions to work with non-square blocks.
|
2022-08-15 18:42:49 +03:00 |
|
siivonek
|
911ae942d4
|
[isp] Add height to sig coeff group context calculation function.
|
2022-08-12 15:28:30 +03:00 |
|
siivonek
|
4b8cd09fa2
|
[isp] Fix sig coeff flag context calculation function call. Width & height was swapped.
|
2022-08-12 14:38:33 +03:00 |
|
siivonek
|
db8451eff7
|
[isp] Change variable name 'type' to 'color'.
|
2022-08-12 13:35:15 +03:00 |
|
siivonek
|
08dc1d7550
|
[isp] Add height to get_tr_type function.
|
2022-08-11 14:41:21 +03:00 |
|
siivonek
|
45e76eae63
|
[isp] Add height to idct getter function. Check block dimensions in transform 2d functions.
|
2022-08-11 14:30:04 +03:00 |
|
siivonek
|
c982ed837a
|
[isp] Fix error in mts dct and idct.
|
2022-08-11 13:55:04 +03:00 |
|
siivonek
|
c9abe944fd
|
[isp] Comment out dct non square function. It is not needed since mts dct function will handle transform for non square blocks.
|
2022-08-11 13:22:36 +03:00 |
|
siivonek
|
c163ff005a
|
[isp] Fix avx2 function call. Missing height parameter.
|
2022-08-11 13:11:41 +03:00 |
|
siivonek
|
83a216d5e6
|
[isp] Uncomment old scan order code to test against new one. Add assert to ensure old and new tables are the same.
|
2022-08-11 12:36:49 +03:00 |
|
siivonek
|
ea04f08f52
|
[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.
|
2022-08-10 19:37:09 +03:00 |
|
siivonek
|
1fe45f719e
|
[isp] Modify existing scan table calls to use new getter. Add safety assert to getter.
|
2022-08-10 19:35:15 +03:00 |
|
siivonek
|
35f1ecbe9d
|
[isp] Add scan order getter. Add bookmark comments to scan order buffer.
|
2022-08-09 14:02:30 +03:00 |
|
siivonek
|
a8b6b8052a
|
[isp] Add scan order tables for all possible block sizes.
|
2022-08-08 16:36:56 +03:00 |
|
siivonek
|
27016d51c0
|
[isp] Fix some errors. Pass height to functions. Some WIP comments.
|
2022-08-08 14:16:57 +03:00 |
|
siivonek
|
f5a189e275
|
[isp] Fix error in inverse transform shifting.
|
2022-08-05 14:16:32 +03:00 |
|
siivonek
|
eed1c6d965
|
[isp] Fix mistake in transform if clause.
|
2022-08-05 13:48:35 +03:00 |
|
siivonek
|
2b67d23b84
|
[isp] Modify inverse transform to handle non-square blocks.
|
2022-08-05 13:40:04 +03:00 |
|
siivonek
|
3346eea6ce
|
[isp] Modify transform and quantization functions to handle non-square blocks. Add strategy headers to CMakelist.
|
2022-08-04 21:47:46 +03:00 |
|
siivonek
|
4224e3de57
|
[isp] Implement ISP search and partitioning. Add helper function for constructing cu_loc types. WIP stuff for transform.
|
2022-07-29 15:36:56 +03:00 |
|
siivonek
|
468c108a44
|
[isp] Fix avx2 function call.
|
2022-07-22 13:10:21 +03:00 |
|
siivonek
|
fcbdf01a25
|
[isp] Do not filter references if ISP is used.
|
2022-07-21 16:27:48 +03:00 |
|
siivonek
|
ae4092a5ca
|
[isp] Change function calls to cu_loc_t.
|
2022-07-21 14:35:12 +03:00 |
|
siivonek
|
7f844c643a
|
[isp] Modify generic intra pred functions to handle non-square blocks.
|
2022-07-20 16:02:27 +03:00 |
|
siivonek
|
4a8f007bcc
|
[isp] Add ISP command line option.
|
2022-07-14 15:39:07 +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 |
|
Joose Sainio
|
abd00d04a1
|
[dual-tree] Still not working but bitstream valid
|
2022-06-28 15:32:28 +03:00 |
|
Joose Sainio
|
0adb0846d2
|
[dual-tree] Bitstream valid, hash missmatches
|
2022-06-28 15:32:28 +03:00 |
|
Joose Sainio
|
be2ef18fea
|
[dual-tree] Not working
|
2022-06-28 15:32:27 +03:00 |
|
Joose Sainio
|
8fba042e02
|
[dual-tree]preliminary preparation for dual tree
|
2022-06-28 15:32:27 +03:00 |
|
Joose Sainio
|
74c931a7c7
|
[lfnst] cost on chroma when necessary and fixes
|
2022-06-28 15:32:27 +03:00 |
|
Joose Sainio
|
20010cf759
|
[lfnst] Fix hash mismatches for depth 4 chroma
|
2022-06-28 15:32:10 +03:00 |
|
Joose Sainio
|
ed602d1c07
|
[lfnst] Cabac state matches for all sizes but hash mismatches
|
2022-06-28 15:31:55 +03:00 |
|
Joose Sainio
|
7a7bf045e6
|
[lfnst] 16x16
|
2022-06-28 15:31:42 +03:00 |
|