Commit graph

3175 commits

Author SHA1 Message Date
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
Arttu Makinen 0e74bfb2a8 CC ALF now works properly. 2020-12-30 16:22:01 +02:00
Arttu Makinen fc39b311bd Added fixing of pixels outside of the actual frame before CC ALF. 2020-12-30 16:22:01 +02:00
Arttu Makinen 99745c2e5a Added writing of CC ALF flag. Couple of bug fixes. 2020-12-30 16:22:00 +02:00
Arttu Makinen 1471448218 Bug fixes in derive_cc_alf_filter and get_blk_stats_cc_alf. 2020-12-30 16:22:00 +02:00
Arttu Makinen f7fe8d9a27 Added more CC ALF functions.
Currently not working.
2020-12-30 16:21:59 +02:00
Arttu Makinen 9ed5169919 Finished functions get_blk_stats_cc_alf and calc_covariance_cc_alf for CC ALF. 2020-12-30 16:21:29 +02:00
Arttu Makinen bf8bb62e50 Got rid of fair amount of global variables. 2020-12-30 16:21:28 +02:00
Arttu Makinen 7846796a4e Removed #define FULL_FRAME. 2020-12-30 16:20:25 +02:00
Arttu Makinen 7bfb1ca6b4 Removal of useless comments. 2020-12-30 16:19:57 +02:00
Arttu Makinen 529bdb4dd2 Modify APS header writing. 2020-12-30 16:19:47 +02:00
Arttu Makinen ee70bcfaec Fixing warnings. 2020-12-30 16:19:07 +02:00
Arttu Makinen d7eafc391f Fixing uninitialized parameters. 2020-12-30 16:18:24 +02:00
Arttu Makinen 36ffdcaf3f Disable output of debug stats. 2020-12-30 16:18:09 +02:00
Arttu Makinen 98768061db Adding CC ALF. 2020-12-30 16:18:08 +02:00
Arttu Makinen da04fffaec Updated the creating of ALF parameters and init for them. 2020-12-30 16:17:54 +02:00
Arttu Makinen bfa77e35c3 Fixed a bug where reconstruction for ALF was called multiple times for no reason.
Modified reconstruction of pixels after ALF search.
2020-12-30 16:17:43 +02:00
Arttu Makinen bd292dab16 Fixed coding of headers for inter coding with ALF. 2020-12-30 16:15:12 +02:00
Arttu Makinen 26dc5b8c4e Multiple APSs can now be signaled.
Can't test usage of multiple APSs properly because inter coding doesn't work.
2020-12-30 16:13:56 +02:00
Arttu Makinen 4ffb0b71a6 Chroma filtering works.
Also some code cleaning.
2020-12-30 16:13:25 +02:00
Arttu Makinen a95fd73668 At least one APS can be signaled.
Problem with APS was in encoder_state-bitstream.c.
Cleaning of code.
2020-12-30 16:12:56 +02:00
Arttu Makinen d7126520b2 Moving param_set_map from slices to cfg.
Bug fix in kvz_alf_encoder_ctb.
2020-12-30 16:12:38 +02:00
Arttu Makinen c55a2a04e8 Bug fix in kvz_alf_encoder.
New bugs appeared with this fix.
2020-12-30 16:12:17 +02:00
Arttu Makinen 8aa91f320a Bug fixes and cleaning. 2020-12-30 16:11:36 +02:00
Arttu Makinen bfba8d43cb Working on to get APS working for ALF. 2020-12-30 16:10:01 +02:00
Arttu Makinen b3ecc755e2 ALF search is now executed for full frame. Works for only 1 frame.
Checksum matches.
APSs are not used currently.
#define FULL_FRAME in alf.h is set to 1 in order to use ALF for full frame.
#define FULL_FRAME 0 produces working bitstream but checksum doesn't match.
2020-12-30 16:08:46 +02:00
Arttu Makinen 94787acb73 Divided encoder_state_worker_encode_lcu -function in encoderstate.c into encoder_state_worker_encode_lcu_search and encoder_state_worker_encode_lcu_bitstream.
ALF off. No changes in bitstream.
2020-12-30 16:07:46 +02:00
Arttu Mäkinen ec62ed89cb LCUs now have mismatched only on boundaries.
Fixed a bug in alf.c line 5451.
Modifications to copying the boundary pixels of CTU.
2020-12-30 16:07:45 +02:00
Arttu Mäkinen f202aa43fa WIP Updating VTM8.2 to VTM10.0.
Small update to ALF cabac flags.
Minor variable definition updates.
2020-12-30 16:07:44 +02:00
Arttu Mäkinen bc90b731a5 ALF updated to VTM8.2. Checksum doesn't match.
ALF uses currently only ready defined coefficients, not APSs.
Produces a valid bitstream, but checksum doesn't match.
CC ALF is disabled.
2020-12-30 16:06:59 +02:00
Arttu Mäkinen 2f80216514 Some cleaning and updating.
Set to use only existing filters rather than signal APS.
2020-12-30 16:02:01 +02:00
Arttu Mäkinen a430d48669 ALF works now with VTM7.0 as in VTM6.1.
VTM properly decodes bitstream from kvazaar but the checksum doesn't match.
Couple hard coded values needed for this in function "kvz_encode_alf_bits".
2020-12-30 15:59:08 +02:00
Arttu Mäkinen 7250f4549b Merge fixes. 2020-12-30 15:12:32 +02:00
Arttu Mäkinen 21a4751875 Works with VTM decoder with one frame with one hard coded value.
APS NAL unit type writing added.
Bug fixes.
WIP.
2020-12-30 15:11:17 +02:00
Arttu Mäkinen 9cad95c94c Bug fixes.
WIP.
2020-12-30 15:09:13 +02:00
Arttu Mäkinen 09c68d9de6 Outputs valid frame with kvazaar. Still problems with cabac when decoding with VTM.
Decided to use buffers that were added in last commit.
Some small fixes and adjustments.
WIP.
2020-12-30 15:09:12 +02:00
Arttu Mäkinen 2cac901cca Testing different kind of buffer for alf image fulldata.
WIP
2020-12-30 15:09:12 +02:00
Arttu Mäkinen feb201986a Changed to process one CTU at a time rather than all CTUs.
WIP
2020-12-30 15:09:11 +02:00
Arttu Mäkinen b04bb66160 Adjustments and cleaning.
WIP
2020-12-30 15:09:10 +02:00
Arttu Mäkinen c76c445142 Cabac/ctx calculation added.
Bug fixing and adjusting.
WIP
2020-12-30 14:32:01 +02:00
Arttu Makinen ade4fc4061 Update of contexts of ALF.
WIP
2020-12-30 14:32:00 +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
Arttu Makinen 377aa989ab Updated to VTM6.1.
Done according to all #ifs enabled
2020-12-30 14:27:15 +02:00
Arttu Makinen 0fbbf1a7e2 Small fixes/adjustments 2020-12-30 14:25:58 +02:00
Arttu Makinen 98a8e78e93 avx2/encode_coding_tree-avx2.c update, because it caused errors 2020-12-30 14:25:16 +02:00
Arttu Makinen ed76650fa5 Updating to VTM6.0 2020-12-30 14:25:09 +02:00
Arttu Makinen a24f49c286 Doesn't crash anymore during debug. Added new allocator for fulldata in kvz_picture. 2020-12-30 14:24:16 +02:00
Arttu Makinen 2b7a8af23a Crashes now in kvz_image_free. 2020-12-30 14:22:38 +02:00
Arttu Makinen 05495bb555 Not working. All the functions done.
Heap corruption occur during debugging.
2020-12-30 14:22:30 +02:00
Arttu Mäkinen 236224dbb9 Broken version with header mismatch 2020-12-30 14:07:34 +02:00
Arttu Mäkinen 06233b5d3b added alf parameter to cli 2020-12-30 14:02:58 +02:00
Jaakko Laitinen 71751c3770 Fix max filter size derivation 2020-12-29 17:57:35 +02:00
Jaakko Laitinen 6a8d73252a Fix runtime errors 2020-12-28 16:41:00 +02:00
Jaakko Laitinen 85be89a85c Fix compilation errors 2020-12-28 15:20:30 +02:00
Jaakko Laitinen 95ff22f0db Finish max filter length fixes 2020-12-28 14:26:36 +02:00
Jaakko Laitinen 13e605153a Fix bugs 2020-12-22 19:11:47 +02:00
Jaakko Laitinen 50e9acd3f4 Add max filter length derivation 2020-12-21 18:47:02 +02:00
Arttu Makinen bc8507cc8d MTS context. 2020-12-18 18:35:11 +02:00
Arttu Makinen fd2f73b460 MTS headers and commands. 2020-12-18 17:40:47 +02:00
Jaakko Laitinen 7a71b700fb Add chroma deblock filtering 2020-12-18 11:06:41 +02:00
Marko Viitanen 0c5e1db0fa Fix wpp chroma bug 2020-12-15 22:59:22 +02:00
Marko Viitanen 071fe7fd51 Limit the top-right intra references when wpp is turned on
Chroma hash still fails.
2020-12-15 22:33:32 +02:00
Marko Viitanen 6146610ec8 Fix the wpp sync point to be the first LCU 2020-12-15 14:51:46 +02:00
Jaakko Laitinen 78be0ccd05 Fix chroma deblocking logic 2020-12-15 14:10:09 +02:00
Marko Viitanen c07a56179f Fix Hash SEI message for VTM11.0 2020-12-15 13:47:28 +02:00
Arttu Makinen 30c4065dc0 Headers for threading. 2020-12-15 13:04:39 +02:00
Jaakko Laitinen 6128db961a Finish up large block filtering 2020-12-11 19:34:56 +02:00
Jaakko Laitinen 976d1c8812 Start implementing large block filtering 2020-12-10 18:03:18 +02:00
Jaakko Laitinen 33cea17484 Add logic for large block filtering 2020-12-09 19:10:38 +02:00
Jaakko Laitinen d3d55933b2 Finish up strong filtering condition check 2020-12-08 18:38:05 +02:00
siivonek e833354cdd Merge branch 10-bit-assert-fix 2020-12-07 20:36:50 +02:00
Jaakko Laitinen 5a90deb678 Add initial max filter length and large block stuff 2020-12-07 18:54:43 +02:00
Jaakko Laitinen 03dade8246 Prepare for large blocks 2020-12-04 18:31:48 +02:00
Jaakko Laitinen 7b0b864947 Fix mvd thresholds and tc/beta index calculations 2020-12-04 15:54:40 +02:00
Jaakko Laitinen 8f3de705eb Add todo list of things to check 2020-12-01 13:53:52 +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
Marko Viitanen 2db3a07b14 Prevent cu_sig_model_chroma array from being indexed over the limit 2020-10-13 14:14:57 +03:00
Marko Viitanen f4948dda6f Fix array size for bdpcm_mode[] 2020-10-13 12:51:20 +03:00
Marko Viitanen 9e3e8f51f6 Change kvz_g_tc_table_8x8 from uint8_t to uint16_t to fit all the values 2020-10-13 12:05:27 +03:00
Marko Viitanen 26f4f45c6d Use correct pred_mode cabac models -> fixes inter cabac bits 2020-10-13 12:04:31 +03:00
Marko Viitanen 5a6806cbf7 [CI] Limit testing parameters to those that work 2020-10-09 09:37:15 +03:00
Marko Viitanen 3c7eb55292 Disable output of cabac debug when in "count only" mode
- Some code cleanup
2020-10-09 08:45:43 +03:00
Marko Viitanen fa25621c77 Force certain intra modes off 2020-10-09 08:44:40 +03:00
Marko Viitanen 54b8fd054d Fix Chroma QP scaling issue 2020-10-02 15:40:23 +03:00
Marko Viitanen 11229997b6 Fix NAL header layer_id 2020-10-01 11:10:40 +03:00
siivonek bc1206a4d3 Define qp_delta_min & max in global.h instead of calculating them locally. 2020-09-29 13:46:27 +02:00
Marko Viitanen ac2032eb65 Fixing P/B frame headers and debug output formatting 2020-09-28 14:58:07 +03:00
Marko Viitanen bddfb47a55 Merge remote-tracking branch 'remotes/kvazaar_github/master' 2020-09-25 11:49:11 +03:00
Marko Viitanen 551a3991cf Cleanup headers 2020-09-24 09:31:44 +03: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
Marko Viitanen 449975b0fb Fixed cubic filter usage in intra angular modes 2020-09-21 14:58:34 +03: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 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 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 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 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
Marko Viitanen 574c4d06ee Fix use of log2_cg_size in coeff coding -> smaller blocks also decoded correctly 2020-08-27 18:26:16 +03:00
Marko Viitanen b3f3a9eae6 Add two EOS NAL units at the end of each picture to make intra sequence work 2020-08-25 15:30:21 +03:00
Marko Viitanen b7638172ca Use continuous POC for all intra and add aud_irap_or_gdr_au_flag 2020-08-25 11:53:55 +03:00
Marko Viitanen b53b53ed09 Fixed SAO headers, SAO produces valid output 2020-08-20 15:37:29 +03:00
Marko Viitanen b4907e6337 Fix deblocking headers and some cleanup, deblocking does not produce valid output 2020-08-20 15:25:18 +03:00
Arttu Mäkinen 4da90b3722 Update of contexts. 2020-08-17 18:18:35 +03:00
Arttu Mäkinen 232332dc5f Update of contexts. 2020-08-17 14:23:26 +03:00
Marko Viitanen 2fc8558926 Set correct profile, level and inter flags in IDR 2020-08-17 11:51:57 +03:00
Marko Viitanen 0f8ada02c4 Fix VPS writing 2020-08-17 11:26:09 +03:00
Arttu Mäkinen da9f542209 WIP updating VTM8.2 to VTM10.0rc 2020-08-17 10:27:03 +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
Marko Viitanen 20b66c9949 Sync to VTM 8.2 and add separate height to last_sig coding 2020-04-29 08:52:38 +03:00
Jan Beich 1fa69c705d Rename truncate() from 30ce461d98 to avoid conflict with POSIX version
strategies/avx2/dct-avx2.c:55:23: error: static declaration of 'truncate' follows non-static declaration
static INLINE __m256i truncate(__m256i v, __m256i debias, int32_t shift)
                      ^
/usr/include/stdio.h:448:6: note: previous declaration is here
int      truncate(const char *, __off_t);
         ^
2020-04-22 16:09:42 +00:00
Ari Lemmetti 9753820b3a Update version to 2.0.0 2020-04-22 01:03:36 +03:00
Ari Lemmetti 40e81f3243 Update preset tables. Update docs. 2020-04-22 01:03:21 +03:00
siivonek 54f438a75c Update VAQ help text. Update docs. Change some lingering tabs to spaces. 2020-04-20 16:52:07 +02:00
Marko Viitanen 86d76b19a4 Fix intra neighboring block selection and clean some unused code 2020-04-16 14:12:40 +03:00
Marko Viitanen 27b4dd50f8 Fix picture header to code Inter frame 2020-04-14 08:24:11 +03:00
Ari Lemmetti f31dddc019 Bypass inverse quantization and inverse transform when trying early skip 2020-04-10 16:02:09 +03:00
Pauli Oikkonen fbdb1e2d15 Add correct path to sao_shared_generics.h in makefile 2020-04-08 19:27:12 +03:00
Pauli Oikkonen 8617530b13 Use _mm_store_epi64 instead of _mm_cvtsi128_si64
Fix 32-bit builds that tend to lack the cvt intrinsic. Hope it will be
optimized to a movq r64, xmm on modern platforms though
2020-04-07 23:51:54 +03:00
Pauli Oikkonen a82966c0f5 Fix lacking _mm256_cvtss_f32 intrinsic on VS
Cast __m256 into __m128 first, the XMM variant of the intrinsic has been
around for a long enough time to be supported
2020-04-07 22:38:10 +03:00
Marko Viitanen 27ffba2c9c Fix terminating bit condition at the end of the slice 2020-04-07 15:30:02 +03:00
Marko Viitanen e737a878a6 Fix split flags and remove an extra terminating bit 2020-04-07 09:57:30 +03:00
Joose Sainio c369ff8873 Fix a potential division by zero in a floating point operation
When C is calculated with K if the value of K is not clipped before in some
cases it is possible that K gets such a large negative value that bpp^K is
rounded to zero. In real-life cases this is extremely rare and clipping
beforhand has very little to no effect.

Also remove commented debug prints
2020-04-06 11:05:49 +03:00
Ari Lemmetti 901c25c0c8 Merge branch 'vaq' 2020-04-03 19:51:17 +03:00
Ari Lemmetti 51451be5ef Handle cases where the number of pixels is not divisible by 32 2020-04-03 19:37:47 +03:00
siivonek ee544304f1 Make function static to not mess up tests. 2020-04-03 15:22:34 +02:00
siivonek e5267f7706 Fix define for use with Visual Studio. 2020-04-03 15:11:01 +02:00
siivonek 9e34369304 Merge branch 'vaq' of https://gitlab.tut.fi/TIE/ultravideo/kvazaar into vaq 2020-04-03 12:35:04 +02:00