Commit graph

3798 commits

Author SHA1 Message Date
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
Ari Koivula 9a3569b5c6 Update unit tests to work with current build.
- Updating picture_list wasn't really worth it so I removed it.
2014-06-13 15:30:23 +03:00
Ari Koivula 87261ea91c Merge branch 'threadqueue-performance-fix' 2014-06-13 12:02:04 +03:00
Ari Koivula aa3549a717 Change SLEEP(0) to SLEEP(10) on Windows.
- This is a workaround for a performance problem on Windows where main thread
  is busy looping.
2014-06-13 12:01:03 +03:00
Laurent Fasnacht 4acadccf89 Only signal the required number of threads 2014-06-13 08:34:59 +02:00