Pauli Oikkonen
|
081d16fc33
|
Fix intrinsics that may be missing on some systems
Create a header to collect all the workarounds for missing intrinsics
in one place
|
2019-05-23 19:59:40 +03:00 |
|
Sami Ahovainio
|
5b46fbd878
|
Added multi_ref_idx variable for intra coding (is 0 throughout the code for now). Modified prediction flag writing. Chroma pred flag remains unchanged (ToDo). Added bitstream debug printing on VERBOSE mode.
|
2019-05-21 12:28:05 +03:00 |
|
Sami Ahovainio
|
ed4e218702
|
Updated coefficient coding to match VTM 5.0
|
2019-05-13 15:30:43 +03:00 |
|
Sami Ahovainio
|
504c3dfd1b
|
Modified the headers to match current VTM headers
|
2019-05-07 16:30:06 +03:00 |
|
Marko Viitanen
|
30a8a7b97c
|
WIP fixing the last significant xy coding
|
2019-05-07 15:01:02 +03:00 |
|
Pauli Oikkonen
|
87a9208db8
|
Eliminate cvtsi64_si128 intrinsic
Apparently it'll cause Win32 builds to break because it emits the movq
instruction or something..
|
2019-04-17 16:30:40 +03:00 |
|
Pauli Oikkonen
|
7175d20bb2
|
Still include stdint.h for non-vector builds
|
2019-04-15 19:36:01 +03:00 |
|
Pauli Oikkonen
|
1315c7e2b0
|
Do not compile any vector code for non-SSE4/AVX2 builds
|
2019-04-15 19:10:48 +03:00 |
|
Pauli Oikkonen
|
f5f70e7bc5
|
Merge branch 'sad-optimization'
|
2019-04-15 19:02:01 +03:00 |
|
Marko Viitanen
|
7a8641b002
|
Merge pull request #224 from jbeich/powerpc
Switch AltiVec on Linux to getauxval()
|
2019-04-08 08:24:12 +03:00 |
|
Jan Beich
|
85f46e17a9
|
Detect AltiVec via elf_aux_info() on FreeBSD 12+
|
2019-04-01 13:08:04 +00:00 |
|
Jan Beich
|
82486255da
|
Simplify AltiVec detection on Linux
|
2019-04-01 13:08:04 +00:00 |
|
Marko Viitanen
|
1546acfdb9
|
New NAL unit IDs and header changes
|
2019-03-28 10:11:36 +02:00 |
|
Marko Viitanen
|
36eab9c170
|
New cabac context models with "rate"
|
2019-03-27 12:38:19 +02:00 |
|
Marko Viitanen
|
3bdc8ac8d3
|
Fix intra_chroma_pred_mode and cbf contexts
|
2019-03-26 09:10:09 +02:00 |
|
Marko Viitanen
|
d15f58517f
|
Changed intra coding to use 6 MPM, implemented merge sort and MPM selection
|
2019-03-20 15:20:31 +02:00 |
|
Marko Viitanen
|
1081336868
|
Updated intra pred mode init values
|
2019-03-20 15:18:32 +02:00 |
|
Marko Viitanen
|
f3acd245ae
|
New cabac coding function: kvz_cabac_encode_trunc_bin
|
2019-03-20 15:17:54 +02:00 |
|
Marko Viitanen
|
80d6e4bf05
|
New split flag calculations
|
2019-03-20 09:07:58 +02:00 |
|
Marko Viitanen
|
8c84348010
|
New entropy bit table
|
2019-03-20 09:07:22 +02:00 |
|
Marko Viitanen
|
2d0348aa6d
|
New context models
|
2019-03-20 09:06:57 +02:00 |
|
Marko Viitanen
|
052080747e
|
New CABAC functions
|
2019-03-20 09:06:26 +02:00 |
|
Eemeli Kallio
|
329c72a485
|
Changed tab from README to spaces
|
2019-03-13 16:24:32 +02:00 |
|
Eemeli Kallio
|
48e83ece9e
|
Updated --max-merge to README
|
2019-03-13 15:28:10 +02:00 |
|
Marko Viitanen
|
20667fdba6
|
Update header bits to VTM 4.0+
|
2019-03-11 14:02:12 +02:00 |
|
Pauli Oikkonen
|
6d43759604
|
Create a border-respecting 32-wide AVX hor_sad
|
2019-03-07 18:01:22 +02:00 |
|
Pauli Oikkonen
|
f218cecb38
|
Remove offending hor_sad_avx2_w32 function
Consider possibly creating a non-offending AVX2 version instead, the
way hor_sad_sse41_w32 works. Or maybe there's more essential work to
do.
|
2019-03-05 22:51:41 +02:00 |
|
Pauli Oikkonen
|
df2e6c54fd
|
4-unroll hor_sad_sse41_arbitrary
This may not increase perf though because it's so rarely used
function, so keeping icache footprint may be more essential...
|
2019-03-05 22:45:23 +02:00 |
|
Pauli Oikkonen
|
448eacba7b
|
Avoid overreading block borders in hor_sad_sse41_arbitrary
|
2019-03-05 22:34:50 +02:00 |
|
Eemeli Kallio
|
2ce1ef25c5
|
Fixed project files that were changed in merge
|
2019-03-05 14:51:36 +02:00 |
|
Eemeli Kallio
|
c159e275b7
|
Merge branch 'max_merge'
|
2019-03-05 14:39:03 +02:00 |
|
Pauli Oikkonen
|
2e98b57b73
|
Merge remote-tracking branch 'origin/quant-avx2-scaling-lists'
|
2019-03-04 19:13:48 +02:00 |
|
Pauli Oikkonen
|
41f51c08c4
|
Avoid overrunning buffer in hor_sad_sse41_w32
|
2019-03-01 15:37:38 +02:00 |
|
Pauli Oikkonen
|
bcd9879359
|
Include quant coeff range check in non-scaling list execution path too
|
2019-02-27 17:26:44 +02:00 |
|
Pauli Oikkonen
|
24e6363f64
|
Remove the kvz_quant_avx2 wrapper function
|
2019-02-27 16:32:58 +02:00 |
|
Pauli Oikkonen
|
748820f3c5
|
Eliminate unnecessary loading of coeffs if scaling lists are off
|
2019-02-27 16:26:35 +02:00 |
|
Pauli Oikkonen
|
5994350f40
|
Allow quant_flat_avx2 to be used with scaling lists on
|
2019-02-27 16:25:59 +02:00 |
|
Eemeli Kallio
|
7f4e0acf41
|
Added check if max-merge is out of bounds
|
2019-02-19 13:53:42 +02:00 |
|
Pauli Oikkonen
|
1c81c4f779
|
Add reg_sad headers to VC project
|
2019-02-18 20:23:31 +02:00 |
|
Pauli Oikkonen
|
9b0e079262
|
Use SSE instructions for 64-bit SADs instead of MMX
VC++ seems to choke on MMX instructions
|
2019-02-18 20:13:33 +02:00 |
|
Pauli Oikkonen
|
d8b8923028
|
Add LGPL notices to reg_sad headers
|
2019-02-18 17:52:47 +02:00 |
|
Eemeli Kallio
|
2a40560888
|
some variables to const
|
2019-02-12 11:24:10 +02:00 |
|
Eemeli Kallio
|
8f8e7bb53c
|
Added possibility to reduce number of maximum number of merge candidates.
|
2019-02-12 09:21:03 +02:00 |
|
Marko Viitanen
|
1165219842
|
Update PTL, SPS ext and SPS flags to match VTM 4rc1
|
2019-02-07 10:00:04 +02:00 |
|
Pauli Oikkonen
|
770db825b9
|
Create hor_sad_w8 and w4 epol mask the way w16 works
|
2019-02-06 19:34:26 +02:00 |
|
Pauli Oikkonen
|
aa19bcac8a
|
Avoid branching in creating shuffle mask in hor_sad_w16
|
2019-02-06 18:58:46 +02:00 |
|
Pauli Oikkonen
|
2d05ca8520
|
Remove width from constant-width hor_sad func params
They should kinda know it already
|
2019-02-04 20:41:40 +02:00 |
|
Pauli Oikkonen
|
57db234d95
|
Move 32-wide SSE4.1 hor_sad to picture-sse41.c
It's not used by picture-avx2.c that also includes the header, so
it should not be in the header
|
2019-02-04 20:41:40 +02:00 |
|
Pauli Oikkonen
|
dd7d989a39
|
Implement 32-wide hor_sad on AVX2
|
2019-02-04 20:41:40 +02:00 |
|
Pauli Oikkonen
|
ff70c8a5ec
|
Utilize horizontal SAD functions for SSE4.1 as well
|
2019-02-04 20:41:40 +02:00 |
|