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
siivonek
e833354cdd
Merge branch 10-bit-assert-fix
2020-12-07 20:36:50 +02:00
Pauli Oikkonen
4d41f4176b
Fix manpage, date in English instead of Finnish
2020-11-03 13:55:02 +02:00
Pauli Oikkonen
a4b458bfeb
Fix VS project files after separating fast coeff cost into own module
2020-11-03 13:38:43 +02:00
Pauli Oikkonen
aa63ae4320
Example fast coeff table file
2020-11-02 15:58:08 +02:00
Pauli Oikkonen
0b8ace527c
document fast-coeff-table option in manpage
2020-11-02 15:22:53 +02:00
Pauli Oikkonen
2b568d4d55
library version number bump
2020-11-02 14:59:15 +02:00
Pauli Oikkonen
be19fd996b
Add default value for fast coeff table filename
...
..oops
2020-11-02 14:02:51 +02:00
Pauli Oikkonen
46301e9857
Document the --fast-coeff-table option
2020-10-29 15:23:26 +02:00
Pauli Oikkonen
816789c9f4
Allow fast coeff weights to be read from a file
2020-10-29 15:22:51 +02:00
Pauli Oikkonen
6799019db0
Move fast coeff table to transform.h
...
Guess this is a more logical place for it
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
4712ce5f59
Round the fast coeff result instead of flooring
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
0fb09c9920
New filtered coeff weight by QP values
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
9bf0cb27b1
Constrain fast cost estimation to QPs we have weights for
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
24d487f553
New weights for 12 <= QP <= 42
...
Trained using MSU ultrafast settings now
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
3e1c6d84b8
Fix issues in fast coeff estimation
...
Allow weight table to start from nonzero QP, and round weights to Q8.8
instead of flooring them
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
5f91bda762
Use newer data for fast coeff cost estimation
...
Same training dataset, but this time only buckets 0...3 were used to
approximate the function, no sign/cg width bucket.
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
2abd733199
Use unsigned min() to correctly clip -32768
...
If a coeff happens to be -32768 (0x8000), its 16-bit abs() is also
0x8000. It should ultimately be clipped to 3, so interpret absolute
values as unsigned instead to make that happen.
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
b93b90c0d7
Implement new fast coeff cost estimator in AVX2
2020-10-29 15:20:27 +02:00
Pauli Oikkonen
2f74a112b3
Try first lookup table based fast coeff estimation
2020-10-29 15:20:27 +02:00
siivonek
bc1206a4d3
Define qp_delta_min & max in global.h instead of calculating them locally.
2020-09-29 13:46:27 +02:00
siivonek
eeb2840505
Add examples folder and readme.md for examples. Add example roi file.
2020-09-28 17:15:12 +02:00
siivonek
d5fe6c3737
Remove xfail for VAQ from 10bit-test since it should be working now.
2020-09-22 20:15:23 +02:00
siivonek
0f3ef786b9
Modify delta QP range assert so it will work with any valid bit depth. Modify VAQ code so it will clip the QP to a proper range which is dependent on bit depth
2020-09-22 20:15:23 +02:00
siivonek
fe6f93a951
Fix delta QP range check assert. Add separate asserts based on bit depth.
2020-09-22 20:15:22 +02:00
Joose Sainio
8143ab971c
Merge branch 'stats-files'
...
# Conflicts:
# src/cfg.c
# src/cli.c
# src/kvazaar.h
2020-09-16 09:25:00 +03:00
Joose Sainio
1c06bd7f3d
Fix POC to be correct for all GOPs and Intra periods, fix issue with vaq
2020-09-14 14:25:48 +03:00
Sami Ahovainio
4d87fb2397
fixed potential out of bounds iteration
2020-09-10 12:59:39 +03:00
Sami Ahovainio
7e2bbcfb64
Merge remote-tracking branch 'remotes/origin/y4m' to master
2020-09-09 16:39:12 +03:00
Sami Ahovainio
245d0cd2cf
updated readme
2020-09-09 16:14:04 +03:00
Sami Ahovainio
5d521a2444
Added option to force yuv as file format and made the options and file endings case insensitive
2020-09-09 16:05:59 +03:00
Joose Sainio
984e5f72f1
update documents
2020-09-09 13:49:13 +03:00
Joose Sainio
3fb8b7ebc6
Add --stats-file-prefix option
...
When the option is defined with an option four files prefixlambda.txt,
prefixqp.txt, prefixdist.txt, and prefixbits.txt that have the corresponding
data for each ctu. This is a debug feature.
2020-09-09 12:35:47 +03:00
Sami Ahovainio
5b0d510647
updated readme
2020-09-07 17:07:58 +03:00
Sami Ahovainio
84cabd9c20
Fixed sign match
2020-09-07 15:39:31 +03:00
Sami Ahovainio
d691849594
Added frame header reading for both read and seek functions
2020-09-07 15:31:08 +03:00
Sami Ahovainio
cbcee67821
y4m start header parsing ready
2020-09-07 15:31:07 +03:00
Joose Sainio
c10b841e7c
Merge remote-tracking branch 'remotes/origin/fix-sao-parameter' into master
2020-09-07 13:10:36 +03:00
Joose Sainio
da09d49890
Remove optionality from --sao
...
SAO parameter was optional which caused that if one wants to pass argument
one needs to use "=" which is confusing since this is not required for any
other parameter
2020-09-07 12:35:40 +03:00
Pauli Oikkonen
2bda7c1e5f
Xfail lacking VAQ on 10-bit build
...
VAQ is currently not supported with 10-bit pixels, so xfail the test for
now.
2020-09-03 17:28:26 +03:00
Pauli Oikkonen
c062f12340
Add a test for the 10-bit build
2020-09-02 18:09:35 +03:00
Pauli Oikkonen
3f7f0d7ed7
Allow bit depth to be defined from the outside
...
For a 10-bit build, just use:
env CFLAGS="-DKVZ_BIT_DEPTH=10" ./configure && make clean && make
2020-09-02 17:55:22 +03:00
Pauli Oikkonen
780da4568a
Exclude 8-bit-only code from 10-bit builds and use uint8_t instead of kvz_pixel for code that assumes 8-bit pixels
2020-09-02 17:46:33 +03:00
Pauli Oikkonen
31ef4e4216
Fix ml functions to accept kvz_pixel*, not uint8_t*
2020-09-02 17:46:33 +03:00
Joose Sainio
faf5cc858d
Merge branch 'fix-lp-gop-rc'
2020-06-25 09:41:57 +03:00
Joose Sainio
138651ee85
Fix the bit and frame counts for calculating the gop allocation
...
Additionally dynamically adjust the smoothing window if there are rapid changes
2020-06-24 15:26:54 +03:00
Ari Lemmetti
f8ff6dd567
Merge pull request #262 from jbeich/truncate-freebsd
...
Unbreak build on FreeBSD
2020-06-22 18:08:01 +03:00
Ari Lemmetti
d1abf85229
Add MV constraint check to motion estimation start point
2020-06-01 23:51:38 +03:00