Ari Koivula
6f8a976b12
Give ARCH_X86_64 to yasm on Mac.
...
- Issue raised in #85 .
2014-10-14 09:47:56 +03:00
Ari Koivula
55ab08c213
Fix incorrect const qualifiers.
...
- Change input pointers to const in dct-generic, like they should have been.
- Fixes compilation error on GCC.
2014-10-13 16:57:15 +03:00
Ari Koivula
8a5b24bcbe
Remove usages of GCC __attribute__.
...
- To allow clang to compile, as it doesn't according to #58 .
- The target attributes are not needed anymore due to makefile handling
targetting now.
- The __attribute__((unused)) used for debugging. I don't know if clang
supports this attribute or not but it doesn't seem very important so
I'm removing it just in case.
2014-10-13 16:46:26 +03:00
Ari Koivula
04613bd5b3
Disable GET_TIME on Mac.
...
- This should fix the Mac version not compiling in issue #85 .
2014-10-13 16:22:11 +03:00
Ari Koivula
d893a489d6
Fix mingw compilation issue.
...
strategies/avx2/dct-avx2.c:334:25: error: pasting "g_dct_16" and "[" does
not give a valid preprocessing token
- The [ is not part of the token so compilation failed on mingw GCC 4.9.1.
- Fixes #86 .
2014-10-10 16:32:39 +03:00
Ari Koivula
3868cc7ff1
Fix crash on inter search when --tr-depth-intra is used.
...
- Transform splits meant for intra modes were used for inter when inter mode
was chosen, which caused an assert to be triggered if the split transform
block didn't have any coefficients.
2014-10-03 19:29:06 +03:00
Ari Lemmetti
bcf12567d0
Added some comments.
2014-10-03 17:51:58 +03:00
Ari Lemmetti
fea517c2ae
Misc code cleanup
2014-10-03 17:06:09 +03:00
Ari Lemmetti
85682c3b6a
Removed unused transpose functions.
2014-10-03 11:39:31 +03:00
Ari Koivula
f6272f06fc
Unify signature for transform functions.
...
- Some used block, coeff and some src, dst. Now all signatures are const input
and non-const output.
2014-10-03 11:21:43 +03:00
Ari Koivula
b932cf4b21
Clean up avx2 dct macros.
2014-10-03 11:16:25 +03:00
Ari Koivula
47244a15c3
Merge branch 'dct-optimizations'
...
Conflicts:
src/strategies/avx2/dct-avx2.c
src/strategies/generic/dct-generic.c
2014-10-02 13:45:21 +03:00
Ari Lemmetti
61e1510480
Transform functions in dct-avx2.c are now generated with macros.
2014-10-02 13:24:30 +03:00
Ari Lemmetti
9407610555
Moved DCT / DST matrices to dct-generic.c
2014-10-02 13:24:30 +03:00
Ari Lemmetti
7255112bd8
Added transposed DCT/DST tables. Use them while calculating transforms instead of doing runtime transpose. Added separate functions for DST and IDST.
2014-10-02 13:24:30 +03:00
Ari Lemmetti
e7bcb58846
Added 32x32 IDCT
2014-10-02 13:24:30 +03:00
Ari Lemmetti
eacf173b7e
Added 32x32 DCT for AVX2
2014-10-02 13:24:30 +03:00
Ari Lemmetti
d2856a5d40
Added 32x32 transpose
2014-10-02 13:24:30 +03:00
Ari Lemmetti
7a33f08312
Added 16x16 DCT and IDCT for AVX2
2014-10-02 13:24:30 +03:00
Ari Lemmetti
d2fe2a5391
Added 16x16 transpose
2014-10-02 13:24:30 +03:00
Ari Lemmetti
d6af146a2e
Added part of the functions 16x16 DCT needs
2014-10-02 13:24:30 +03:00
Ari Lemmetti
aba3acdfff
Added AVX2 optimized transforms for 4x4 and 8x8 blocks
2014-10-02 13:24:30 +03:00
Ari Lemmetti
5856f32d81
Fixed incorrect shift values for inverse transforms in generic strategy
2014-10-02 13:24:29 +03:00
Ari Lemmetti
41b032664d
First version of 4x4 forward DCT
2014-10-02 13:24:29 +03:00
Ari Koivula
36232619ab
Fix broken cabac contexts in wpp.
...
- Fixes #84 .
- The issue was caused by 241b9d6
naively copying the whole struct, which
contains data other than just the contexts. Rather than reverting the
change, the struct was refactored to have another struct that contained
just the contexts.
2014-09-24 01:02:52 +03:00
Ari Koivula
4e052d3f0f
Wrap contexts of cabac_data inside cabac_data.ctx struct.
2014-09-24 01:02:37 +03:00
Ari Koivula
b339004c4c
Rename cabac_state.ctx to cur_ctx.
2014-09-24 01:02:28 +03:00
Ari Koivula
8b8b53fba5
Merge branch 'sao_cabac'
2014-09-22 10:28:30 +03:00
Ari Koivula
bfa399c8fc
Fix compiler warnings.
...
- Non-parenthesized parameter in a macro.
- Unused variables.
- Wrong const qualifiers.
- Signed/unsigned comparison.
2014-09-22 10:04:57 +03:00
Marko Viitanen
6f65a9cbbd
Improved SAO merge decisions
2014-09-16 10:08:17 +03:00
Marko Viitanen
21df11ba4e
Implemented SAO search for both chroma components
2014-09-15 16:07:31 +03:00
Marko Viitanen
e8d1140a1a
Check SAO band offset for both chroma components and better SAO chroma cabac costs
2014-09-15 16:07:31 +03:00
Marko Viitanen
0c92031e8a
SAO merge checking cleanup
2014-09-15 16:07:31 +03:00
Marko Viitanen
b274e7adcd
Added cabac bit cost calculations to SAO search
2014-09-15 16:07:31 +03:00
Ari Koivula
5f732126c3
Add cabac bit costs float table.
2014-09-15 15:45:43 +03:00
Ari Koivula
0db7d8d20f
test cu split cost
2014-09-15 15:42:03 +03:00
Ari Koivula
35b2e6f755
Add missing cabac context for chroma cbf.
...
- The context was also missing from HM, but has been fixed in HM13.
2014-09-15 15:41:44 +03:00
Ari Koivula
241b9d6adb
Simplify cabac context copying.
...
Conflicts:
src/context.c
2014-09-15 15:41:44 +03:00
darealshinji
61a414bced
reposition colons in usage message to match with the rest
2014-09-15 03:40:18 +02:00
Ari Koivula
3c73892609
Fix transform split search.
...
- Redo the search with the best mode to make sure the tr_depth parameters are
correct.
2014-09-11 10:56:53 +03:00
Ari Koivula
46b6b1243b
Add --rd=3 mode and enable searching of intra depth 0.
...
- intra_build_reference_border was overflowing at depth 0 because it uses
arrays just large enough to accommodate 32x32 transforms, which is the
biggest transform.
- For similar reasons search_intra_rough doesn't work at depth 0.
- The --rd=3 mode tries all modes with transform search. It also works without
rough search so it was used to test depth 0 search. If --rd=3 is not on intra
split at depth 0 is not searched for.
Conflicts:
src/search.c
2014-09-11 10:54:41 +03:00
Ari Koivula
c5fa824347
Rebase transform split search.
2014-09-08 14:13:59 +03:00
Ari Koivula
79b86ce6e1
Add --tr-depth-intra command line option.
...
Conflicts:
src/encoder.c
2014-09-04 13:42:24 +03:00
Marko Viitanen
fe236de807
Fixed sps_max_dec_pic_buffering value to include current picture
2014-09-01 10:31:11 +03:00
Marko Viitanen
dbcc8d65aa
Removed duplicate function from RDOQ
2014-08-28 08:50:01 +03:00
Ari Koivula
931ec7301c
Put slice delta QP to bitstream.
...
- Before slice delta QP was always 0. Now if global->QP is changed before
contexts are set, the delta qp is put to the bitstream, allowing for rough
frame level rate control.
2014-08-25 16:43:23 +03:00
Ari Koivula
4c3bbd4a35
Rewrite the SContruct.
...
- Works with new /strategy/ structure.
- Change architecture selection to use arch= instead of construction target.
2014-08-25 16:43:23 +03:00
Ari Lemmetti
f88c3b6f37
Removed unnecessary if (both branches did the same thing)
2014-08-20 11:54:35 +03:00
Laurent Fasnacht
f3c311fe1a
Fix commit 8502f3d
2014-08-11 15:17:15 +02:00
Laurent Fasnacht
f9bffe35a5
Log tile id in sad perf log
2014-08-11 11:57:08 +02:00