Commit graph

2352 commits

Author SHA1 Message Date
Laurent Fasnacht 45faadb2c9 Fix bug where the wrong number of frames could be encoded (if one frame takes longer than the others) 2014-06-19 10:24:02 +02:00
Ari Koivula d5a77be4b8 Fix avx detection for gcc.
- GCC doesn't support _xgetbv intrinsic so we have to use inline assembler.
2014-06-18 11:50:17 +03:00
Ari Lemmetti bdef5384ef Added AVX strategy 2014-06-17 16:52:24 +03:00
Ari Koivula 3d23c7e913 Merge branch 'gcc-problems' 2014-06-17 16:29:39 +03:00
Ari Koivula d7abe6a7c2 Address compilation warning.
strategyselector.c:170:10: error: ‘__get_cpuid’ is static but used in inline function ‘get_cpuid’ which is not static [-Werror]
   return __get_cpuid(level, eax, ebx, ecx, edx);
2014-06-17 16:26:55 +03:00
Ari Koivula 60ecc6baae Remove unused stuff. 2014-06-17 16:20:01 +03:00
Ari Koivula 7532b789f8 Add -std=gnu99 for gcc.
- std=c99 doesn't work because then struct timespec won't be defined.
2014-06-17 16:15:39 +03:00
Ari Koivula 348aba4b50 Merge branch 'intra-search-tweaks' 2014-06-17 15:33:48 +03:00
Ari Koivula 94bc457b6c Add option to disable fast intra search. 2014-06-17 15:32:05 +03:00
Ari Koivula e27fc875c0 Clean up intra search. 2014-06-17 15:09:12 +03:00
Ari Koivula e4d70ac1ab Use more starting points for smaller blocks in intra search. 2014-06-17 13:28:27 +03:00
Ari Koivula 9911c7553b Avoid unnecessary intra dir searching. 2014-06-17 13:11:35 +03:00
Ari Koivula bd16a55b9b Always check DC and planar intra modes.
- At least one of them is always in predicted modes, but to make sure they
  are both included add them explicitly.
2014-06-17 12:51:15 +03:00
Ari Koivula 70740da123 Add smarter rough intra search.
- Directional intra mode search is done using halving search from the best
  known mode. Starting modes are vertical, horizontal and the 3 diagonal
  modes.

Conflicts:
	src/search.c
2014-06-17 12:33:10 +03:00
Marko Viitanen 0e2fe9e7ff Changed intra search to skip some modes speeding it up 2014-06-17 12:32:29 +03:00
Marko Viitanen a1c3cfe944 Moved intra mode cost calculation to a function
Conflicts:
	src/search.c
2014-06-17 12:32:29 +03:00
Marko Viitanen eb7d46f9ef Modify CU split cost. 2014-06-17 12:30:32 +03:00
Marko Viitanen bfa37b876b Conformance fix: set sps_max_dec_pic_buffering to correct value 2014-06-17 12:30:32 +03:00
Ari Koivula ab3845c9c7 Add some intra sad tests. 2014-06-16 18:03:56 +03:00
Ari Koivula 4469b1680f Fix inter sad tests.
- Because intra sad functions were added to the same module, they were being
  called as if they were reg_sad, which of course failed.

Conflicts:
	tests/sad_tests.c
2014-06-16 18:03:39 +03:00
Ari Koivula b3c15b8f94 Merge branch 'owf' 2014-06-16 16:07:41 +03:00
Ari Koivula cebdd7d5f9 Update tests. 2014-06-16 16:07:11 +03:00
Laurent Fasnacht 91de92134f Constrain the search not to go under the LCU below if OWF is enabled 2014-06-16 14:27:56 +02:00
Laurent Fasnacht ef9c2258e9 Fix frame counter and stats 2014-06-16 13:21:52 +02:00
Ari Koivula 153b1ee41f Merge branch 'intra-sad-strategies' 2014-06-16 12:34:37 +03:00
Ari Koivula bb31408d8b Update VS project.
- Disable warnings about converting function pointers to void *.

- Treat incorrect indirection levels warnings as errors.
2014-06-16 12:29:10 +03:00
Laurent Fasnacht 84d34c2655 Fix compilation on non-intel 2014-06-16 11:24:02 +02:00
Ari Koivula 3f00592b96 Separate strategyselector debug prints from _DEBUG.
- I only want to see the strategy stuff.
2014-06-16 12:15:19 +03:00
Ari Koivula 1c97a10a6d Move intra SAD and SATD functions under strategies. 2014-06-16 12:13:41 +03:00
Laurent Fasnacht 4b4702819b Also print encoding FPS 2014-06-16 11:10:11 +02:00
Laurent Fasnacht 2347574a8e Fix problems revealed by valgrind 2014-06-16 11:10:09 +02:00
Laurent Fasnacht 28c3f22ba1 Fix possible freeze 2014-06-16 11:03:48 +02:00
Laurent Fasnacht a96c742ad4 Fix depends for wpp+owf 2014-06-16 11:03:47 +02:00
Laurent Fasnacht f99e41d41f Improved CPU time statistics 2014-06-16 11:03:46 +02:00
Laurent Fasnacht 8a33c0a688 Fix recon job for wfrow 2014-06-16 10:55:01 +02:00
Laurent Fasnacht bf6024734a Fix statistics with OWF 2014-06-16 10:55:00 +02:00
Laurent Fasnacht 0522a3d8e5 --owf option 2014-06-16 10:55:00 +02:00
Laurent Fasnacht 47d1ded7b0 Dependencies between frames 2014-06-16 10:54:59 +02:00
Laurent Fasnacht 003d3c504c image_list_copy_contents 2014-06-16 10:54:58 +02:00
Laurent Fasnacht f4187dd10c cu_array data structure 2014-06-16 10:54:57 +02:00
Laurent Fasnacht 3be3fa8d6e Use different processing order depending if we have OWF or not 2014-06-16 10:54:56 +02:00
Laurent Fasnacht c32943f78b OWF 2014-06-16 10:54:56 +02:00
Laurent Fasnacht 490dd15f3d Remove flush between frame 2014-06-16 10:51:33 +02:00
Laurent Fasnacht fddcbabe28 bitstream writing is now a "normal" job in a thread 2014-06-16 10:51:32 +02:00
Laurent Fasnacht ff7143cc24 Assign thread_queue_jobs and move image_free to a more suitable place 2014-06-16 10:51:32 +02:00
Ari Koivula 87ca828a63 Correct intra sad function labels.
- These haven't been 16 bit for a long time.
2014-06-16 10:45:10 +03:00
Ari Koivula fcce6ae823 Fix printing of AVX2 capability. 2014-06-14 01:24:19 +03:00
Ari Koivula a49ba2633a Add OS and CPU detection for AVX2 and AVX. 2014-06-13 16:57:53 +03:00
Ari Koivula 5fad064754 Add unit tests for intrinsic reg_sad functions. 2014-06-13 15:30:23 +03:00
Ari Koivula 1de102be61 Move strategies to their own compilation units.
- Enforces a little bit more hierarchy. Compilation units are in strategies
  and whatever inline includes they have are in a folder with the same name
  as the strategy.
2014-06-13 15:30:23 +03:00