Commit graph

186 commits

Author SHA1 Message Date
Marko Viitanen ad8bad3f94 [inter] Scale x and y correctly in fracmv_within_tile() 2021-11-19 17:51:46 +02:00
Marko Viitanen 8841ed9c21 [inter] Fix fracmv_within_tile() assert to use correct mv resolution 2021-11-19 17:37:11 +02:00
Marko Viitanen 4d20461410 [inter] Limit merge search of some blocks with sub 1/4 pixel mv's 2021-11-19 17:28:13 +02:00
Marko Viitanen fa9a1db498 [inter] Fix mv precision in many places and add more mv_t usage and new vector2d_t rounding function 2021-11-19 16:20:49 +02:00
Marko Viitanen 5020f5f742 [inter] Fix incorrect mv scaling in unipred and change more mv types to mv_t 2021-11-18 11:49:08 +02:00
Marko Viitanen 21d7d2e4ed [inter] Remove MV rounding from kvz_inter_get_merge_cand() and add it to where merge cand are used
* Should be adapted to AMVR later
 * merge candidates match VTM at full precision
2021-11-18 11:09:26 +02:00
Marko Viitanen bf06538f33 [inter] Change internal MV precision to "INTERNAL_MV_PREC" and add new type mv_t 2021-11-18 09:49:12 +02:00
Marko Viitanen 30d97d9af6 [inter] Implement pairwise-average candidates for merge candidates
- Half-pel candidates are skipped for now because it needs some special handling
2021-11-01 13:24:23 +02:00
Marko Viitanen 7a5eb7712b Fix merge candidate derivation order 2021-10-08 16:34:02 +03:00
Marko Viitanen 99a2b0384d [cleanup] remove some warnings 2021-07-26 11:42:19 +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
Ari Lemmetti b72ab583b4 Handle "don't care" rows in the end separately 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 d8e7aac380 Do not use nonstandard extension for struct initialization. 2021-03-08 22:36:07 +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
Arttu Makinen ebb99a7223 Changed 'width's to 'stride's, because added more pixels to 'fulldata'.
Also some small fixes and changes.
Checksum correct in luma.
WIP
2020-12-30 14:30:47 +02:00
Ari Lemmetti d1abf85229 Add MV constraint check to motion estimation start point 2020-06-01 23:51:38 +03:00
Ari Lemmetti f31dddc019 Bypass inverse quantization and inverse transform when trying early skip 2020-04-10 16:02:09 +03:00
RLamm 27fe716654 Fixed reference POC indexing 2020-03-11 15:33:37 +02:00
RLamm bf24831780 Attempt to fix random crashes 2020-03-11 15:31:47 +02:00
RLamm 887659db1f Attempted to scale the extra_mvs 2020-03-11 15:31:46 +02:00
Ari Lemmetti 1dfc69b42e Consider merge index bits in merge analysis and early skip 2020-02-20 09:43:58 +02:00
Ari Lemmetti 71d9327f62 Further improve fast bipred 2020-02-17 20:32:52 +02:00
Ari Lemmetti 886ff36d12 Initial implementation of fast bipred. 2020-02-04 15:46:23 +02:00
Ari Lemmetti 147378e1f9 Prevent 8x4 and 4x8 bipred in merge analysis 2019-09-03 16:32:50 +03:00
Ari Lemmetti ef1fdbf259 Separate prediction of single PU/PB from CU/CB 2019-09-03 16:32:50 +03:00
Ari Lemmetti 3bc510712f Enable merge analysis for smp and amp 2019-09-02 17:31:51 +03:00
Ari Lemmetti 557bcbc6aa Make luma or chroma only inter "recon" or predict possible 2019-09-02 17:15:28 +03:00
Ari Lemmetti aa8ab195d1 Compare rough cost of the best merge mode against AMVP to make mode decision 2019-08-26 22:49:09 +03:00
Ari Lemmetti 8f866ff83a Use correct index 2019-08-26 20:10:10 +03:00
Ari Lemmetti a80de22bc7 Add only different candidates to the list 2019-08-24 21:49:33 +03:00
Ari Lemmetti 45c7961412 Remove tr depth fill. It should not be needed. 2019-08-24 21:49:32 +03:00
Ari Lemmetti ff8711aaab Add missing logic to add valid indices to list 2019-08-24 21:49:29 +03:00
Ari Lemmetti b20992a9f3 Rename functions more descriptive 2019-07-09 20:20:11 +03:00
Ari Lemmetti a348a0ec23 Fix transform depth in early skip 2019-07-09 20:05:48 +03:00
Ari Lemmetti 4097331fd6 Early skip 2019-07-09 15:59:31 +03:00
Pauli Oikkonen 45f36645a6 Move choosing of tailored SAD function higher up the calling chain 2019-02-04 20:41:40 +02:00
Pauli Oikkonen 91cb0fbd45 Create strategy for directly obtaining pointer to constant-width SAD function 2019-02-04 20:41:40 +02:00
Ari Lemmetti cd818db724 Add missing quantization and residual in cost calculation (inter rd=2). 2018-12-21 15:55:29 +02:00
Ari Lemmetti b234897e8a Fix smp and amp blocks in fme and revert previous change.
Filter 8x8 (sub)blocks even with 8x4, 4x8, 16x4, 4x16 etc.
Calculate SATD on the 8x4, ... part
2018-12-19 21:30:53 +02:00
Marko Viitanen 1ef851ab4b Disable FME on amp/smp blocks with width or height not divisible by 8 2018-12-18 10:28:21 +02:00
Reima Hyvönen 1fcc5c6a8d Merge branch 'bipred_recon' 2018-12-11 09:59:35 +02:00
Ari Lemmetti ac943147e3 Calculate satd cost for whole non-square blocks as well. 2018-12-10 17:04:29 +02:00
Sami Ahovainio 8f98d4aac7 Added square search 2018-11-14 14:50:31 +02:00
Marko Viitanen 6871490dd5 Simplify get_mvd_coding_cost(), only include golomb coding 2018-11-14 14:33:31 +02:00
Ari Lemmetti 5c774c4105 Rewrite most of FME and interpolation filters
Changes had to break a lot of stuff and were just squashed into this horrible code dump
2018-11-08 20:21:16 +02:00
Reima Hyvönen 896034b7cf Some renamed functions back 2018-08-28 15:31:10 +03:00
Reima Hyvönen e8b5e6db4c Did some merging 2018-08-28 15:26:27 +03:00
Reima Hyvönen 47b357cca2 Comment one test 2018-08-27 18:52:14 +03:00
Reima Hyvönen 9a339eef89 Merge branch 'bipred_recon' of https://gitlab.tut.fi/TIE/ultravideo/kvazaar into HEAD
# Conflicts:
#	build/kvazaar_lib/kvazaar_lib.vcxproj
2018-07-10 16:21:04 +03:00