Commit graph

3310 commits

Author SHA1 Message Date
Ari Lemmetti 70a393a3dc Set mv candidates before cost calculations for bipred. Use the new struct for bipred. 2021-12-08 15:34:02 +02:00
Ari Lemmetti 574d6c4593 Eliminate copy-paste logic from different ME algorithms. 2021-12-08 15:34:02 +02:00
Ari Lemmetti d28c2295dc The best_* fields are no longer used to track anything. Convert costs to double. 2021-12-08 15:34:02 +02:00
Ari Lemmetti 9905cd42d6 Rename "indx" to "keys". There are too many "indices" already. 2021-12-08 15:34:01 +02:00
Ari Lemmetti 5edb82648a More intuitive logic for computing RD costs and bit costs for SMP 2021-12-08 15:34:01 +02:00
Ari Lemmetti aca9192054 Move cu_info_t initializations to search_pu_inter. Rename cur_cu cur_pu. 2021-12-08 15:34:01 +02:00
Ari Lemmetti 8406942d06 Improve the new data structure a bit. Use also for merge candidates. 2021-12-08 15:34:01 +02:00
Ari Lemmetti 94096dd175 Ignore merge candidates when computing AMVP motion vector costs. 2021-12-08 15:34:00 +02:00
Ari Lemmetti 48773b0d25 Replace and relocate deprecated cost and mode parameter tracking. 2021-12-08 15:34:00 +02:00
Ari Lemmetti 1940f0880f Add amvp unipredictions to both lists if reference picture is present 2021-12-08 15:33:57 +02:00
Ari Lemmetti 2ed434e57b Remove now deprecated array 2021-12-02 20:00:19 +02:00
Ari Lemmetti 90c0a708a7 Add new structs for storing statistics during the search. Use in AMVP search. 2021-12-02 20:00:19 +02:00
Ari Lemmetti 936fb76685 Remove merge candidate stuff from search_pu_inter_ref
There is a separate merge analysis now
2021-12-02 20:00:19 +02:00
Ari Lemmetti 3265d45a4e Temporarily remove FME threshold for verification purposes 2021-12-02 20:00:18 +02:00
Ari Lemmetti e000c7229f Fix bit costs in search_pu_inter_ref a bit 2021-12-02 20:00:18 +02:00
Ari Lemmetti ec2f4e0bac Use double for RD costs in most places 2021-12-02 20:00:15 +02:00
Ari Lemmetti d6b2ec5814 Only check used reference picture lists when validating merge candidates.
Merge candidate struct should be initialized to zero, so this should not have any effect. The conditions are added in case someone decides to copy the code as an example.
2021-11-26 18:47:14 +02:00
Ari Lemmetti 9e40f435cb Fix array sizes to prevent ASAN errors (large block interpolation). 2021-11-22 17:44:00 +02:00
Ari Lemmetti 50ca269a13 Merge branch 'refactor-bipred-recon' 2021-11-21 16:11:11 +02:00
Ari Lemmetti 2bdfb3b536 Rename variables to be less misleading 2021-11-21 02:20:42 +02:00
Ari Lemmetti eb0f42aa96 Update comment 2021-11-21 02:11:50 +02:00
Ari Lemmetti 86b37a8e02 Minor formatting 2021-11-21 02:06:49 +02:00
Ari Lemmetti fd20462202 Fix more newlines... 2021-11-21 02:01:57 +02:00
Ari Lemmetti 40ca21d221 Consistent naming part 3 2021-11-21 01:04:14 +02:00
Ari Lemmetti 6c0bdb45b9 Consistent naming part 2 2021-11-21 00:58:52 +02:00
Ari Lemmetti a68d73674b Consistent naming part 1 2021-11-21 00:32:01 +02:00
Ari Lemmetti 8f0e96162a Formatting 2021-11-20 23:33:57 +02:00
Ari Lemmetti a236b32c52 Fix newlines 2021-11-20 23:14:31 +02:00
Ari Lemmetti 5225dcea3c Implement missing block sizes. Fix types and conditions. 2021-11-20 22:53:37 +02:00
Ari Lemmetti 5389842675 Add missing SIMD bipred functions for AMP blocks with size of 12 or larger 2021-11-17 21:33:13 +02:00
Ari Lemmetti e3aadd4272 Add missing things after rebase 2021-11-15 21:48:43 +02:00
Ari Lemmetti 146298a0df New AVX2 block averaging *WIP* missing small chroma block and SMP/AMP 2021-11-08 23:01:13 +02:00
Ari Lemmetti ef69c65c58 New bipred average functions 2021-11-08 23:01:12 +02:00
Ari Lemmetti f47bd5d86f Rename some bipred functions 2021-11-08 23:01:12 +02:00
Ari Lemmetti b52a930bed About working with generics 2021-11-08 23:01:12 +02:00
Ari Lemmetti e7857cbb24 Remove avx2 blending 2021-11-08 22:45:45 +02:00
Marko Viitanen 55bb8ee17f Merge branch 'fix-header-dpb-size' 2021-10-19 13:55:40 +03:00
Marko Viitanen 899c672ed1 Make sure the dpb is more than max_num_reorder_pics 2021-10-19 10:16:04 +03:00
Ari Lemmetti d4880be6f2 Compute proper count of buffered frames for vps and sps. Use common function. 2021-10-19 02:34:32 +03:00
Marko Viitanen 7856583ee0 Rename external licenses so that github autodetects the Kvazaar license correctly 2021-10-13 17:44:34 +03:00
Marko Viitanen cc22233117 Change version to v2.1.0 2021-10-13 15:24:01 +03:00
Marko Viitanen 57883369ca Change all the license texts in source headers and LICENSE file to 3-clause BSD, closes #302
* All now have the same exact text string
2021-10-13 15:22:46 +03:00
Marko Viitanen b68625b869 Add correct reorder and buffering values to VPS, as they were only in SPS 2021-10-13 10:54:35 +03:00
Marko Viitanen 7918628b8e Offset output dts by -1 when num_out >= gop_len, otherwise there will be a gap of 2 dts. Fixes #310 2021-10-11 11:18:58 +03:00
Marko Viitanen 54dc87dac9 Remove duplicate test in pull_request.yml 2021-06-17 09:55:57 +03:00
Marko Viitanen bad8bd419e Replace Travis CI with Github Actions using own runner 2021-06-17 09:36:53 +03:00
Marko Viitanen f7a397b102
Merge pull request #304 from PeterDaveHello/RemoveAdditionalAptCleanInDockerfile
Remove additional apt-get clean in Dockerfile
2021-06-03 17:12:57 +03:00
Marko Viitanen 28ab25f924
Merge pull request #303 from PeterDaveHello/ImproveDockerfile
Use COPY instead of ADD for files and folders in Dockerfile
2021-06-03 17:08:21 +03:00
Peter Dave Hello b7befcd680 Remove additional apt-get clean in Dockerfile
Reference:

- https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get

> Official Debian and Ubuntu images automatically run `apt-get clean`,
> so explicit invocation is not required.
2021-06-03 22:00:30 +08:00
Peter Dave Hello 720e262c68 Use COPY instead of ADD for files and folders in Dockerfile
Reference:

- https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#add-or-copy
2021-06-03 21:57:13 +08:00