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
Joose Sainio
d720305fea
Don't double count some of the bits
2022-03-18 08:28:31 +02:00
Joose Sainio
2ac9daf6e4
accurate inter bit cost during search
2022-03-18 08:28:30 +02:00
Joose Sainio
49c8334dd7
count skip flag
2022-03-18 08:28:30 +02:00
Joose Sainio
8cd81e3dcf
Only count smp extra cbf bits when rd < 2
2022-03-18 08:28:30 +02:00
Joose Sainio
3ac17ffd95
better early skip?
2022-03-18 08:28:30 +02:00
Joose Sainio
c7174b25cf
smp/amp CUs cannot be skipped
2022-03-18 08:28:30 +02:00
Joose Sainio
71b1e59548
Better early-skip?
2022-03-18 08:28:30 +02:00
Joose Sainio
ff02a84a96
Probably better order of things
2022-03-18 08:28:30 +02:00
Joose Sainio
a9255901d9
Only perform rd2 calculation on the best candidate of the list if it exists
...
But only for 2Nx2N blocks
2022-03-18 08:28:29 +02:00
Joose Sainio
a0e7165df4
use correct pu for rd calc
2022-03-18 08:28:29 +02:00
Joose Sainio
6d73db5a2a
Probably correct RD cost calculation for all inter modes
2022-03-18 08:28:29 +02:00
Joose Sainio
1a9e54601f
Calculate rd2 cost for all inter modes instead of just the final one
2022-03-18 08:28:29 +02:00
Joose Sainio
5afd3570f6
Update cu_qt_root_cbf_model
2022-03-18 08:28:29 +02:00
Joose Sainio
f3f0037123
include root_cbf cost
2022-03-18 08:28:29 +02:00
Joose Sainio
aaac260438
better merge cost
2022-03-18 08:28:28 +02:00
Joose Sainio
159793f5b4
more accurate get_mvd_coding_cost
2022-03-18 08:28:28 +02:00
Joose Sainio
8d12884e43
disable VERBOSE
2022-03-18 08:28:28 +02:00
Joose Sainio
5ed1ffb5d4
WIP: pre Christmas
2022-03-18 08:28:28 +02:00
Joose Sainio
f83e21735c
Fix couple of mistakes
2022-03-18 08:28:28 +02:00
Joose Sainio
243e45f07e
accurate bit cost calculation when using transform skip
2022-03-18 08:28:28 +02:00
Joose Sainio
a038ccc19a
add back bitcost for 4×4 intra PUs
2022-03-18 08:28:27 +02:00
Joose Sainio
951a845f08
Remove consts and fix wrong types
2022-03-18 08:28:27 +02:00
Joose Sainio
64b2806cc8
Add couple of missing bits to the calculation and get intra neighbours from lcu rather than cu_array
2022-03-18 08:28:27 +02:00
Joose Sainio
aea1133e6a
Function for mock coding a CU and counting the bits
2022-03-18 08:27:22 +02:00
Joose Sainio
4b8d217f2d
Add new macro for potentially updating cabac context when obtaining the bit cost
2022-03-18 08:19:57 +02:00
Joose Sainio
d8648fe1de
Preparation for accurately counting inter bits
2022-03-18 08:19:57 +02:00
Joose Sainio
311fceade7
Force use inter
2022-03-18 08:19:56 +02:00
Joose Sainio
1fb69d5e22
Correct tr depth bit calculation
2022-03-18 08:18:04 +02:00
Joose Sainio
de3a76d874
Correctly calculate bits for transform split, however updating is done incorrectly, but cannot be fixed easily unfortunately
2022-03-18 08:18:04 +02:00
Joose Sainio
dacc15f33b
Count pred mode bit
2022-03-18 08:18:03 +02:00
Joose Sainio
d2299adb1c
Disable bit debug code when VERBOSE is not defined and count bits when combining the intra cus
2022-03-18 08:18:03 +02:00
Joose Sainio
9ed8d0a7d9
count all non-tr-depth related bits correctly
2022-03-18 08:17:41 +02:00
Joose Sainio
53264bc764
Update cabac context during search
...
Create a separate cabac that is only used during the search. It should hold
the state that the actual cabac end after encoding said CU. Only implemented
for intra so far.
TODO: 4×4 PUs probably still have some problems
2022-03-18 08:17:41 +02:00
Joose Sainio
d5e4e831f4
Preliminary code for outputting bit costs during the search
2022-03-18 08:17:41 +02:00
Joose Sainio
8ff1c51835
Merge branch 'combine-intra-option'
2022-03-18 07:59:39 +02:00
Joose Sainio
85d1a54adc
Add cli option for forcing inter
2022-03-17 14:48:08 +02:00
siivonek
c9cbadad8a
Merge branch intra_mip.
2022-03-17 12:04:59 +02:00
Joose Sainio
f1a3aa60dd
Don't write prediction mode for 4x4 intra cus
2022-03-14 10:34:06 +02:00
Joose Sainio
eff8d7cdac
Fix picture headers for open-gop
2022-03-14 10:32:46 +02:00
Joose Sainio
763ad3f8f5
Merge remote-tracking branch 'remotes/origin/unify-roi-features'
2022-03-12 08:48:09 +02:00
Joose Sainio
0dd7646a34
Fix mip context calculation for P and B slices
2022-03-10 10:48:37 +02:00
siivonek
ae2e0da6ab
[mip] Add parenthesis around macro parameters.
2022-03-04 00:19:01 +02:00
siivonek
fa963234a8
[mip] Fix CI error. Const modifier in wrong place.
2022-02-16 17:14:26 +02:00
siivonek
9b04a6f302
[mip] Combine mip mode search loop into the original intra mode search loop. Some code clean up.
2022-02-15 11:24:01 +02:00
siivonek
ac45a5299c
[mip] Add define for number of mip modes. Fix mip cost calculation. If mip is enabled, the cost of writing of mip flag must always be included. Some code cleanup.
2022-02-10 02:31:13 +02:00
siivonek
09f3af81c6
[mip] Improve mip flag context function.
2022-02-10 00:41:20 +02:00
siivonek
769703ea71
[mip] Fix mpm mode selection. When neighboring CU uses MIP, signaled intra mode must be planar. Fix chroma reconstruction when MIP is enabled. Only allow MIP to be used if chroma scheme is 444. Otherwise use planar mode.
2022-02-09 12:55:18 +02:00
siivonek
e8ef0d2b28
[mip] Fix undefined behaviour error in CI test.
2022-02-09 12:55:17 +02:00
siivonek
fcde90fbe0
[mip] Change kvz_pixel to int inside MIP implementation since some temp values could be negative. Add define for intra reference line length. Fix bug where wrong intra mode was passed to recon after search.
2022-02-09 12:55:17 +02:00
siivonek
df5cbbe82f
[mip] Fix issue with invalid MIP modes written into cabac. Fix Mip mode cost estimation. Implement function to derive mip flag context id. Fix some asserts. Replace floor log 2 implementation with existing kvz math function.
2022-02-09 12:55:17 +02:00
siivonek
d2c24c9a0c
[mip] Fix error in deriving MIP flag context id.
2022-02-09 12:55:17 +02:00
siivonek
8aea4f67f7
[mip] Fix reference indexing error.
2022-02-09 12:55:17 +02:00
siivonek
b8a8bce55a
[mip] Fix MIP bit cost calculation.
2022-02-09 12:55:17 +02:00
siivonek
55e4091030
[mip] Fix MIP cabac write.
2022-02-09 12:55:16 +02:00
siivonek
a4366dbcc5
[mip] Fix error which caused asan CI test to fail. Was caused by an uninitialized intra CU mip value.
2022-02-09 12:55:16 +02:00
siivonek
6b33957978
[mip] Implement MIP bit cost calculation.
2022-02-09 12:55:16 +02:00
siivonek
0cf89e9516
[mip] Fix CI errors.
2022-02-09 12:55:16 +02:00
siivonek
d5e2bbd824
[mip] Fix things according to comments. Fix asserts. Remove MIP from chroma recon and search calls. WIP mip mode cost calculation.
2022-02-09 12:55:16 +02:00
siivonek
2daa8ad537
[mip] Implement cabac write.
2022-02-09 12:55:16 +02:00