Joose Sainio
764d23cdf5
Update entropy tables and correct order
2021-04-23 10:54:11 +03:00
Joose Sainio
119f80054a
Update get_ic_rate
2021-04-23 10:53:20 +03:00
Joose Sainio
15b710f4f6
update calc_last_bits
2021-04-23 10:52:50 +03:00
Joose Sainio
27e46ab7f4
ctx_set was incorrect for second iteration of coefficient level estimation
2021-04-23 10:51:52 +03:00
Joose Sainio
e8eab326fb
Update context selection to match VVC
2021-04-23 10:51:01 +03:00
Joose Sainio
1fd583eae0
go_rice_param calculation fix
2021-04-23 10:49:31 +03:00
Joose Sainio
8049ebb597
Fix header writing for monochrome. WIP: checksum header still incorrect
2021-03-17 13:01:26 +02:00
Joose Sainio
bdcf2210ed
reverse
2021-03-17 08:23:07 +02:00
Joose Sainio
7929c4bfe5
Test c_lambda instead of CHROMA_MULT
2021-03-17 08:22:38 +02:00
Joose Sainio
b2076d3b39
Enable chroma scaling
...
WIP: user defined scaling array
2021-03-16 10:31:26 +02:00
Joose Sainio
412781db41
[scalinglist] Fix quant-generic
2021-03-09 10:42:40 +02:00
Joose Sainio
21bc9aa3c2
[scalinglist] Fix memory leak
2021-03-09 10:04:11 +02:00
Joose Sainio
30e573c261
[scalinglist] WIP: Update scalinglist for VVC
...
Seems to work when rdoq is enabled but not when it is disabled
2021-03-09 09:51:49 +02:00
Ari Lemmetti
dad3d6818e
Only read left and right border pixels if necessary
2021-03-08 22:36:10 +02:00
Ari Lemmetti
b72ab583b4
Handle "don't care" rows in the end separately
2021-03-08 22:36:09 +02:00
Ari Lemmetti
33295bf350
Use AVX2 luma interpolation for SMP and AMP as well
2021-03-08 22:36:09 +02:00
Ari Lemmetti
7ce68761c2
Add a reminder to fix a rare case for bipred
2021-03-08 22:36:09 +02:00
Ari Lemmetti
475f1d79d5
Add some defines for important interpolation related sizes
2021-03-08 22:36:09 +02:00
Ari Lemmetti
4314f3a9a7
Rename some interpolation functions and strategies for consistency
2021-03-08 22:36:08 +02:00
Ari Lemmetti
5a70b49f69
Require 64-bit build for AVX2 interpolation filter functions
2021-03-08 22:36:08 +02:00
Ari Lemmetti
5631651469
Remove unused functions and variables
2021-03-08 22:36:08 +02:00
Ari Lemmetti
d8e7aac380
Do not use nonstandard extension for struct initialization.
2021-03-08 22:36:07 +02:00
Ari Lemmetti
e38219e489
Fix epol_func signature and function definition
2021-03-08 22:36:07 +02:00
Ari Lemmetti
7e6ba9750f
Add new AVX2 ip filters for chroma
2021-03-08 22:36:07 +02:00
Ari Lemmetti
3476fc62c7
Fix parameter to signed
2021-03-08 22:36:06 +02:00
Ari Lemmetti
e572066e46
Add new AVX2 vertical ip filter for pixel precision
2021-03-08 22:36:06 +02:00
Ari Lemmetti
9e4b62a891
Use the new horizontal filter for pixel precision as well
2021-03-08 22:36:06 +02:00
Ari Lemmetti
2175023843
Relocate function
2021-03-08 22:36:06 +02:00
Ari Lemmetti
f5b0e3c52b
Add new AVX2 horizontal ip filter capable of every luma PB
2021-03-08 22:36:05 +02:00
Ari Lemmetti
d9a3225ae5
Add new AVX2 vertical ip filter for high-precision
2021-03-08 22:36:05 +02:00
Ari Lemmetti
84222cf3e7
Replace old block extrapolation with more capable one.
...
Separate paddings for different directions can be now specified.
2021-03-08 22:36:04 +02:00
Jaakko Laitinen
845902062c
Fix warning and limit intra qp offset to -3
2021-03-04 18:08:59 +02:00
Marko Viitanen
29dee4e32a
[rdoq] implement more parts of rdoq like in VTM related to reg_bins value usage
2021-02-26 22:11:47 +02:00
Marko Viitanen
7dcf00d536
[rdoq] Change kvz_get_coeff_cost() to match current VTM
2021-02-26 20:43:33 +02:00
Marko Viitanen
467a3d97cc
[rdoq] Update contexts to use correct chroma model
2021-02-26 20:26:08 +02:00
Marko Viitanen
6544c25daf
[rdoq] improve the cost calculations and clean up unused code
2021-02-26 20:23:06 +02:00
Marko Viitanen
d6379c02e0
[rdoq] implement kvz_get_ic_rate correct bit values
2021-02-26 20:23:06 +02:00
Marko Viitanen
3c75500cd4
Fix PSNR calculation, broken after the introduction of frame padding
2021-02-26 20:20:51 +02:00
Marko Viitanen
c6baa8ad62
[rdoq] rename some contexts and add gt2 context template, change kvz_context_get_sig_coeff_group width -> cg_width
...
* RDOQ is not working as it should, but no longer tries to access incorrect memory locations
2021-02-25 13:41:47 +02:00
siivonek
bf0bf73665
Fix mistake in define.
2021-02-16 20:21:33 +02:00
siivonek
6f455f29cc
Add MINGW64 to define. Try to fix tsan test path error to suppressions.txt.
2021-02-16 15:44:18 +02:00
siivonek
9a65617a34
Disable thread exit call in encmain when MINGW is used. This should fix the issue with media auto-build suite.
2021-02-15 14:47:18 +02:00
Marko Viitanen
e05dcdb193
Enable sign hiding in quant_avx2 and fix a bug in kvz_encode_coeff_nxn_generic()
2021-02-12 16:40:28 +02:00
Marko Viitanen
113b94f5e1
Add sh_sign_data_hiding_used_flag to slice header
2021-02-12 14:19:56 +02:00
Marko Viitanen
79c36f6aeb
Enable RDOQ and sign hiding
2021-02-12 13:24:02 +02:00
Arttu Makinen
7098a94a6f
Implemented implicit MTS.
...
Added selection of implicit MTS to command parameters.
Updated the transform selection to support implicit MTS.
2021-02-11 15:11:15 +02:00
Arttu Mäkinen
8f34685a8f
Merge branch 'master' into 'mts'
...
# Conflicts:
# src/cfg.c
# src/kvazaar.h
2021-02-10 13:05:18 +02:00
Arttu Makinen
c5570abe1b
Removed 'emt' variable from cu_info_t and changed 'emt' globally to 'mts' for consistency.
2021-02-10 12:08:05 +02:00
Arttu Makinen
d0b7dd95f7
MTS works on intra mode.
...
Fixed usage of MTS constraints.
Fixed DCT8 transforms.
Added sorting function of MTS modes with intra modes and costs to search.c.
2021-02-10 11:01:58 +02:00
Arttu Makinen
2e7c342645
Implemented DCT2, DST7, and DCT8 transforms, and search for selecting transform for MTS. Using MTS results mismatch for luma component.
2021-02-02 11:09:43 +02:00
Marko Viitanen
c6b3065e7c
Merge branch 'deblocking_fix' into 'master'
...
Deblocking fix
See merge request cs/ultravideo/vvc/uvg266!1
2021-01-26 14:18:34 +02:00
Arttu Makinen
b9c3336f0e
MTS bitstream encoding added for intra. Work with depths 0-3.
2021-01-18 20:44:36 +02:00
Jaakko Laitinen
1c6bef2514
Fix luma large block deblocking bug
2021-01-14 17:22:12 +02:00
Arttu Makinen
65cbee85d7
Fix for sad_tests. Forced intra mode removed. Define for frame padding added.
2021-01-14 14:30:50 +02:00
Jaakko Laitinen
f19c049db7
Fix luma hor edge rightmost pixel filtering
2021-01-13 18:04:56 +02:00
Pauli Oikkonen
fcc2c1fa7b
return-type error does not know that you don't return from assert(0)
2021-01-12 13:28:55 +02:00
Pauli Oikkonen
fa8cfb92e8
Maybe this would work with VC++
...
Our threadwrapper does not support PTHREAD_MUTEX_INITIALIZER, apparently
that's a toughie to implement on Windows or something, dunno. Use
dynamic initialization instead, then.
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
20758a77e3
document fastrd measurement tools
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
0e07308ea5
new weights
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
5827ecc5a6
this little piggy wasn't on board, obviously..
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
643e70d4ca
also move the readme file :^)
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
1c1807f80b
move rdcost stuff into a separate directory
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
a37095b061
new weights using new scripts
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
17bedc9751
script to average out results by qp over sequences
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
ab13018b7c
tidy it up
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
8aa9a29e24
what if this were to work now
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
4deed04eb9
you know what, fread returns number of elements, not bytes
2021-01-11 18:22:53 +02:00
Pauli Oikkonen
c89477bb41
Ditto for 2nd part of least squares
2021-01-11 18:22:52 +02:00
Pauli Oikkonen
3dd4f0e00b
Process some fault conditions in filter_rdcosts
2021-01-11 18:22:52 +02:00
Pauli Oikkonen
98a082cdcd
last fixes to extract_rdcosts
2021-01-11 18:22:52 +02:00
Pauli Oikkonen
b26e9c68c8
extract rdcosts works with the block qp fix
2021-01-11 18:22:52 +02:00
Pauli Oikkonen
40ae353820
Fix RD sampling to take the block QP into account
2021-01-11 18:22:52 +02:00
Pauli Oikkonen
03087fb44c
Fix RDO sampling to work thru a CLI parameter, implement accuracy check
...
TODO: write into encoder->fastrd_learning_outfile instead of stdout.
It's a toughie tho, because fwrite takes in FILE* instead of const FILE*
but the encoder_control_t is passed as a const.
2021-01-11 18:22:52 +02:00
Pauli Oikkonen
33dd9c95cd
Tool to extract RDO bitrates
2021-01-11 18:22:52 +02:00
Arttu Makinen
46ed459790
Removed functions from alf.h that are not used outside of alf.c. Rearranged functions in alf.c.
2021-01-11 10:42:44 +02:00
Arttu Makinen
1ae1d7e630
Cast couple more ALF functions to static.
2021-01-08 12:10:40 +02:00
Arttu Makinen
15816125aa
Cast ALF functions to static or set them to have prefix "kvz_".
2021-01-08 12:03:22 +02:00
Jaakko Laitinen
ecdb1c4dce
Fix chroma clip range bug
2021-01-07 16:06:03 +02:00
Jaakko Laitinen
88b837c4f0
Fix more chroma deblocking issues
2021-01-06 19:06:14 +02:00
Arttu Makinen
2786e8f0e2
Fix of problems that appeared with rebase.
2021-01-05 11:43:15 +02:00
Jaakko Laitinen
b96753961c
Fix some more chroma bugs
2021-01-02 20:59:55 +02:00
Jaakko Laitinen
c71a0d1e6f
Fix most(?) chroma issues
2021-01-01 20:10:08 +02:00
Jaakko Laitinen
c736837ca7
Fix luma deblocking
2020-12-31 19:23:33 +02:00
Arttu Makinen
e06759eb6e
Fixed a bug of ALF failing when CC-ALF was not enabled. Added ALF to README.md parameters.
2020-12-30 16:27:15 +02:00
Arttu Makinen
75b51c1d27
Bug fix of division with zero, initialization of APS, and missing "!".
2020-12-30 16:27:07 +02:00
Arttu Makinen
df375a055e
Small changes with VTM version 11.0.
2020-12-30 16:26:59 +02:00
Arttu Makinen
7109313161
Added forgotten memory release.
2020-12-30 16:26:50 +02:00
Arttu Makinen
b17e26511f
Removed/moved the last global variables from ALF.
2020-12-30 16:26:49 +02:00
Arttu Makinen
f5556a5d69
Moved cabac_estimator from globals to alf_info_t.
2020-12-30 16:26:30 +02:00
Arttu Makinen
ffdca81dca
ALF frame buffer moved.
2020-12-30 16:26:22 +02:00
Arttu Makinen
a3998450d0
Most of the remaining globals removed/moved.
2020-12-30 16:26:14 +02:00
Arttu Makinen
35233d2e17
Multiple global arrays placed in a struct of arrays.
...
Also g_ctb_distortion_unfilter and g_aps_id_start removed.
2020-12-30 16:25:54 +02:00
Arttu Makinen
aed4d29c79
Continuation of removal/moving of ALF globals.
...
Removed/moved globals: g_ctu_enable_flag, g_ctu_alternative, g_ctu_enable_flag_tmp, g_ctu_alternative_tmp.
2020-12-30 16:25:40 +02:00
Arttu Makinen
335ce2bdda
Moving ALF globals to alf_info struct inserted in videoframe_t.
...
g_alf_covariance and g_alf_covariance_frame moved.
2020-12-30 16:25:18 +02:00
Arttu Makinen
76cf8a16d9
Fixed couple of memory problem bugs.
2020-12-30 16:25:01 +02:00
Arttu Makinen
0914864300
Bug fix for reading alf type to cfg.
2020-12-30 16:24:59 +02:00
Arttu Makinen
9d56d6444d
Removed filter shape/type from variables and functions.
...
Filter shape/type size was only used and was always defined as 1.
2020-12-30 16:24:50 +02:00
Arttu Makinen
218d5b51d3
Cleaning ALF code.
2020-12-30 16:24:24 +02:00
Arttu Makinen
420ee4cc21
Changed alf_enabled and alf_cc_enabled flags into one alf_type enum as in sao.
2020-12-30 16:23:56 +02:00
Arttu Makinen
2b62b91589
Added CC ALF parameter for encoding.
2020-12-30 16:22:02 +02:00