Commit graph

3900 commits

Author SHA1 Message Date
Joose Sainio d5a62c96b0 Properly implement chroma filtering 2021-04-23 10:57:29 +03:00
Joose Sainio e521a59cd5 Perform deblocking on 4x4 grid instead of 8x8 2021-04-23 10:57:29 +03:00
Joose Sainio 1aaa95601c Merge remote-tracking branch 'remotes/kvz_github/master' into Fix-monochrome
# Conflicts:
#	.gitlab-ci.yml
#	build/kvazaar_lib/kvazaar_lib.vcxproj.filters
#	src/cfg.c
#	src/encoder.h
#	src/kvazaar.h
#	src/rdo.c
2021-04-23 10:56:50 +03:00
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 c36d423a8c Merge branch 'interpolation-2021' 2021-03-08 22:36:34 +02:00
Ari Lemmetti 5bc4cdf401 Update TSAN suppressions 2021-03-08 22:36:10 +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
Ari Lemmetti 17c9fc5cc9 Update build worker images for MinGW tests on AppVeyor. Test all branches and not just master. 2021-03-04 20:08:40 +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 2d4a9a036a Merge branch 'rdoq_sign_hiding_fix' 2021-02-12 16:42:32 +02:00
Marko Viitanen 5f54864a70 Test signhide and rdoq in intra 2021-02-12 16:41:37 +02:00