Joose Sainio
|
f056178e80
|
[jccr] Chroma transform search kinda working
|
2022-06-28 15:27:21 +03:00 |
|
Joose Sainio
|
27b730c2e9
|
[jccr] WIP chroma transform search
|
2022-06-28 15:26:47 +03:00 |
|
Joose Sainio
|
c309b81532
|
[intra] Fix chroma bit counting
|
2022-06-28 15:26:41 +03:00 |
|
Joose Sainio
|
aa2f412c20
|
[rd] Don't calculate cost for non-basic transforms that do not have coeffs
|
2022-06-28 15:26:36 +03:00 |
|
Joose Sainio
|
079d1e9aaf
|
[debug] Disable this for now
|
2022-06-28 15:26:25 +03:00 |
|
Joose Sainio
|
03246c031e
|
[cabac] Fix trskip writing
|
2022-06-28 15:26:19 +03:00 |
|
Joose Sainio
|
c11e30fdb4
|
[mts] get mts constraints for bit counting
|
2022-06-28 15:26:11 +03:00 |
|
Joose Sainio
|
81df3ef2e0
|
[mts] Reset mts constraints
|
2022-06-28 15:25:21 +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
|
804bf3afcb
|
[intra] Limit rough search
|
2022-06-28 15:24:39 +03:00 |
|
Joose Sainio
|
4c66561ebe
|
[debug] Temporarily move split flag counting
|
2022-06-28 15:24:32 +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
|
dfbe9dad87
|
[intra] intra dist = MIN(satd_dist, sad_dist*2)
|
2022-06-28 15:24:12 +03:00 |
|
Joose Sainio
|
09832c3c85
|
[intra] fix various things
|
2022-06-28 15:24:02 +03:00 |
|
Joose Sainio
|
6fcec1fdd3
|
[mrl] [mip] initial rd improvement
|
2022-06-28 15:23:56 +03:00 |
|
Joose Sainio
|
1b3885d5be
|
[intra] Chroma working
|
2022-06-28 15:23:36 +03:00 |
|
Joose Sainio
|
0575c9c592
|
[intra] Fix warnings
|
2022-06-28 15:23:25 +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
|
c16f42e9df
|
[satd] DC scaling
|
2022-06-28 15:20:56 +03:00 |
|
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
|
d15fb473a2
|
[lfnst] Fix error in mts skip check. Skip value was derived from tr_skip instead of correct tr_idx.
|
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
|
9171e03a53
|
[lfnst] Add cu intra check to lfnst calls.
|
2022-06-28 15:20:43 +03:00 |
|
siivonek
|
4fee153318
|
[lfnst] Fix assert. No need for >= 0 check for unsigned integer.
|
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
|
896bc093d3
|
[lfnst] Remove unused stuff from lfnst constraint check. Use temp values for storing lfnst constraints during search instead of updating values inside pred cu.
|
2022-06-28 15:20:41 +03:00 |
|
siivonek
|
7b6b6586c6
|
[lfnst] Implement lfnst constraint check during search.
|
2022-06-28 15:20:41 +03:00 |
|
siivonek
|
64c5cfb127
|
[lfnst] Fix error in scan table selection.
|
2022-06-28 15:20:41 +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
|
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
|
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
|
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
|
acfc28d7ce
|
[lfnst] Fix CI errors. Lfnst tables didn't have kvz prefix.
|
2022-06-28 15:20:37 +03:00 |
|
siivonek
|
ee9258b2d9
|
[lfnst] WIP Fix errors in lfnst cabac write.
|
2022-06-28 15:20:37 +03:00 |
|
siivonek
|
560be8c5b4
|
[lfnst] Fix writing sps lfnst flag.
|
2022-06-28 15:20:37 +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
|
929828392a
|
[lfnst] Implement inverse lfnst.
|
2022-06-28 15:20:36 +03:00 |
|
siivonek
|
fb289ce875
|
[lfnst] Change lfnst context name. It now follows the naming convention of other similar contexts.
|
2022-06-28 15:20:36 +03:00 |
|
siivonek
|
026beb3154
|
[lfnst] Add lfnst coef scan table.
|
2022-06-28 15:20:35 +03:00 |
|
siivonek
|
d9f556e219
|
[lfnst] Implement forward LFNST functions.
|
2022-06-28 15:20:35 +03:00 |
|
siivonek
|
c039f3ba80
|
[lfnst] Add lfnst transform tables.
|
2022-06-28 15:20:35 +03:00 |
|
siivonek
|
213fe13a27
|
[lfnst] Add commandline option for lfnst. Implement cabac lfnst flag init and sps flag.
|
2022-06-28 15:20:35 +03:00 |
|
Marko Viitanen
|
4880b47a4e
|
[cleanup] Update README AppVeyor badge url and remove mentions of Kvazaar
|
2022-06-18 13:49:09 +03:00 |
|
Marko Viitanen
|
fb17bbc1ca
|
[cleanup] Fix MSVC warnings about type conversion and signed/unsigned comparison
|
2022-06-18 13:43:16 +03:00 |
|
Jovasa
|
f269ba436b
|
Merge pull request #6 from skal65535/fix
Fix several compile warnings
|
2022-06-16 10:59:00 +03:00 |
|
Marko Viitanen
|
429e945496
|
Round width and height to next 8 pixels instead of 4
* New macro CONF_WINDOW_PAD_IN_PIXELS
|
2022-06-16 09:45:35 +03:00 |
|
Marko Viitanen
|
c71de0e9f9
|
Fix conformance window, signal only in SPS
|
2022-06-14 14:18:14 +03:00 |
|
Joose Sainio
|
c8314d3ec3
|
update man page
|
2022-06-14 10:38:42 +03:00 |
|
LigH
|
eab9a94455
|
Missing backslash escape in line break
|
2022-06-13 10:29:20 +02:00 |
|
Joose Sainio
|
7a22b94f0e
|
[avmr] fix mvp_candidate rounding
|
2022-06-13 09:29:50 +03:00 |
|
Pascal Massimino
|
055b813bb3
|
Fix several compile errors:
src/search_inter.c:1210: implicit conversion from 'int' to 'int16_t'
was truncating constants.
src/intra.c:511: const qualifier discarded
|
2022-06-09 17:49:59 +02:00 |
|
Marko Viitanen
|
5ea913287b
|
[y4m] Fix y4m header parsing problems with piped input by removing ungetc()
|
2022-06-03 14:02:03 +03:00 |
|
Marko Viitanen
|
700f526623
|
Add timing hrd parameters to be able to extract original framerate in decoder
|
2022-06-02 21:37:42 +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 |
|
Joose Sainio
|
8223112cc1
|
Revert "[intra] Limit intra depth to 3 (8x8) for now"
This reverts commit c8539a3701 .
|
2022-05-05 14:28:07 +03:00 |
|
Joose Sainio
|
feb8a4d2e3
|
[cli] To print version info to stdout when everything is ok.
|
2022-05-05 13:28:50 +03:00 |
|
Marko Viitanen
|
c8539a3701
|
[intra] Limit intra depth to 3 (8x8) for now
|
2022-05-04 20:00:32 +03:00 |
|
Joose Sainio
|
b4a3d54170
|
[rate_control] fix gop 0 + OBA
|
2022-05-04 12:55:28 +03:00 |
|
Joose Sainio
|
900ce314ef
|
[deltaqp] Fix uvg_get_cu_ref_qp for first cu of row
|
2022-05-04 12:41:49 +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
|
20ecb128cd
|
[cleanup] Print uvg266 version every time the CLI is launched, fix manpage and README gen
|
2022-05-03 16:35:25 +03:00 |
|
Marko Viitanen
|
a4bc6bb7b1
|
[cleanup] Remove deprecated -w and -h from documentation
|
2022-05-02 22:11:53 +03:00 |
|
Marko Viitanen
|
dc83d15ea7
|
[build] Add better version info to the binary for debugging purposes
|
2022-05-02 20:51:24 +03:00 |
|
Marko Viitanen
|
a5eb7d1496
|
[build] Fix conditions for struct packing macro, detect MSVC instead of everything else
* Fixes building on apple systems
|
2022-04-29 18:57:26 +03:00 |
|
Marko Viitanen
|
4005b9da4b
|
[cleanup] Remove mentions of SMP and AMP from the documentation and code
|
2022-04-29 15:10:43 +03:00 |
|
Marko Viitanen
|
7557067b41
|
[build] Fix building for other than x86 target
|
2022-04-29 14:32:24 +03:00 |
|
Marko Viitanen
|
a8c458469c
|
Update README and other documents, rename github workflow from kvazaar.yml to uvg266.yml
|
2022-04-29 13:28:10 +03:00 |
|
Marko Viitanen
|
61642deb82
|
[cleanup] Change the interface function names and some other kvazaar mentions to uvg266
|
2022-04-28 22:01:02 +03:00 |
|
Marko Viitanen
|
45fcac612a
|
[cleanup] Change all tabs to spaces in the ml classifier code
|
2022-04-28 21:14:25 +03:00 |
|
Marko Viitanen
|
2016f30dc0
|
[build] Add install configuration to CMakeLists.txt
|
2022-04-28 16:15:09 +03:00 |
|
Marko Viitanen
|
481fdf913b
|
[build] Use version info from the CMakeLists.txt
|
2022-04-28 15:32:26 +03:00 |
|
Marko Viitanen
|
6b07bb3591
|
[build] Remove x264asm abstraction layer since it is not used anymore
|
2022-04-28 15:31:41 +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
|
576bf569d3
|
[build] Replace visual studio and autotools build systems with CMake
|
2022-04-28 14:13:20 +03:00 |
|
Marko Viitanen
|
227556a13e
|
[build] Remove support for the yasm asm build
|
2022-04-28 14:12:09 +03:00 |
|
Joose Sainio
|
ede7603361
|
Fix chroma bit cost calculation
|
2022-04-21 11:17:44 +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
|
d41103385a
|
fix cclm
|
2022-04-15 12:39:18 +03:00 |
|
Joose Sainio
|
e9a081de4f
|
Count bits for mip and mrl
|
2022-04-15 12:25:07 +03:00 |
|
Joose Sainio
|
61a3612395
|
Fix incorrect bit counting
|
2022-04-15 11:39:18 +03:00 |
|
Joose Sainio
|
b9618690e7
|
Generate mrl references for mrl rough search
|
2022-04-15 11:39:18 +03:00 |
|
Joose Sainio
|
f4dc3ab43b
|
Fix jccr and chroma mode search
|
2022-04-15 11:39:18 +03:00 |
|
Joose Sainio
|
24faf0024d
|
Fix MTS and actually select the best intra mode for rd < 2
|
2022-04-15 11:39:17 +03:00 |
|
Joose Sainio
|
901d60b8e7
|
Fix monochrome, maybe mts search and cabac debug
|
2022-04-15 11:39:17 +03:00 |
|
Joose Sainio
|
abcf2a12b8
|
Fix setting chroma mode to planar for mip pus
|
2022-04-15 11:39:17 +03:00 |
|
Joose Sainio
|
2c48453e59
|
Fix mip mode count macros
|
2022-04-15 11:39:17 +03:00 |
|
Joose Sainio
|
43c2f9318e
|
Fix mip mode generation
|
2022-04-15 11:39:17 +03:00 |
|
Joose Sainio
|
69dfd816f1
|
oops
|
2022-04-15 11:39:17 +03:00 |
|
Joose Sainio
|
b8e5e1d9e3
|
Fix mrl rough search
|
2022-04-15 11:39:16 +03:00 |
|
Joose Sainio
|
f75b2fdb34
|
Fix tr_depth setting and restore checking all pred_modes rd cost
|
2022-04-15 11:39:16 +03:00 |
|
Joose Sainio
|
6aa8240db0
|
Fix test_external_symbols
|
2022-04-15 11:39:16 +03:00 |
|
Joose Sainio
|
5f1e9c820f
|
Rough search for mrl and mip
|
2022-04-15 11:39:16 +03:00 |
|
Joose Sainio
|
88c01b6d32
|
Fix warnings/errors
|
2022-04-15 11:39:16 +03:00 |
|
Joose Sainio
|
b093248ca7
|
Maybe working for regular intra search
|
2022-04-15 11:39:16 +03:00 |
|
Joose Sainio
|
f7563076cb
|
WIP
|
2022-04-15 11:39:15 +03:00 |
|
Joose Sainio
|
00acf661cf
|
WIP: intra prediction generation from a singular function
|
2022-04-15 11:39:15 +03:00 |
|
Joose Sainio
|
e74ea38673
|
WIP: initial structs etc.
|
2022-04-15 11:39:15 +03:00 |
|
Joose Sainio
|
52240bde6e
|
ignore chroma during regular intra search
|
2022-04-15 11:39:15 +03:00 |
|
Joose Sainio
|
debe5924a9
|
Fix
|
2022-04-15 11:38:31 +03:00 |
|
Joose Sainio
|
863929378f
|
Better get_mvd_coding_cost
|
2022-04-01 15:15:29 +03:00 |
|
Joose Sainio
|
3532f7a938
|
Correct counting of jccr flag for inter pu rdo
|
2022-03-31 15:19:32 +03:00 |
|
Joose Sainio
|
6924497bae
|
Fix jccr when inter is used
|
2022-03-31 14:59:22 +03:00 |
|
Joose Sainio
|
57cd9bd97e
|
minor fixes
|
2022-03-31 12:11:33 +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
|
45a9bed7fb
|
Don't count jccr bits when jccr is disabled
|
2022-03-31 10:30:02 +03:00 |
|
Joose Sainio
|
c777acd91e
|
correct calculation of mvd bitcost
|
2022-03-30 15:06:44 +03:00 |
|
Joose Sainio
|
2bf16c2010
|
Fix correct precision for all motion vectors
|
2022-03-30 11:00:17 +03:00 |
|
Joose Sainio
|
df5bc0db4e
|
Fix cclm when 64x64 is enabled
|
2022-03-30 10:10:02 +03:00 |
|
Joose Sainio
|
7ef25a23a9
|
Fix chroma cost calculation
|
2022-03-29 12:05:52 +03:00 |
|
Joose Sainio
|
5cd0554a7d
|
fix correct chroma cost calculation
|
2022-03-28 14:08:35 +03:00 |
|
Joose Sainio
|
d531d77b75
|
fix chroma 4x4
|
2022-03-28 10:21:15 +03:00 |
|
Joose Sainio
|
84e4fe6790
|
Fix broken things
|
2022-03-25 15:27:34 +02: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
|
99ddc209fc
|
Fix cclm when tiles are enabled
|
2022-03-25 10:20:44 +02:00 |
|
Joose Sainio
|
41c9f5b858
|
Fix undefined behavior
|
2022-03-25 09:29:35 +02:00 |
|
Joose Sainio
|
2050de8891
|
Fix cclm prediction generation for depth 0
|
2022-03-25 08:54:31 +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
|
a88553b206
|
fix jccr and improve intra parameter passing
|
2022-03-24 11:11:33 +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
|
9b7dc207b6
|
remove unnecessary copying of cabac state
|
2022-03-18 08:28:32 +02:00 |
|
Joose Sainio
|
e39fbb11a7
|
Disable bit calculations that always degrade quality
|
2022-03-18 08:28:32 +02:00 |
|
Joose Sainio
|
352d6750f5
|
Remove instrumentation code
|
2022-03-18 08:28:32 +02:00 |
|
Joose Sainio
|
1ae5ecdec5
|
include pred_mode_bits for 2Nx2N inter pus for rd=0/1
# Conflicts:
# src/search_inter.c
|
2022-03-18 08:28:31 +02:00 |
|
Joose Sainio
|
b0037b814d
|
Use correct lambda
# Conflicts:
# src/search_inter.c
|
2022-03-18 08:28:31 +02:00 |
|
Joose Sainio
|
00516d3dce
|
Make sure intra does not accidentally skip coeff cost calculation
|
2022-03-18 08:28:31 +02:00 |
|
Joose Sainio
|
e0ed91658b
|
Fix no-early-skip without breaking early-skip
|
2022-03-18 08:28:31 +02:00 |
|
Joose Sainio
|
d1ba62aea9
|
Better inter bit_costs for rdo < 2
|
2022-03-18 08:28:31 +02:00 |
|