Skip to content
Permalink
Browse files

Turing codec Version 1.2

Main features added:
	- New SIMD optimisation functions for intra-prediction and
	  quantisation
	- Revised rate-control algorithm for parallel processing
	- Fixes to field-coding and SAO
	- Added frame doubling functioanlity and temporal scalability
	- Added conformance window settings for interlaced material
	- Added fade detection algorithm
  • Loading branch information
sgblasi committed May 25, 2017
1 parent dccba74 commit 09a838c9feeb43ac410391e300b8b53ff660c721
Showing with 34,252 additions and 10,040 deletions.
  1. +5 −0 CMakeLists.txt
  2. +8 −3 havoc/CMakeLists.txt
  3. +271 −264 havoc/Jit.h
  4. +1 −1 havoc/diff.cpp
  5. +1 −1 havoc/hadamard.cpp
  6. +8 −5 havoc/havoc.cpp
  7. +3 −2 havoc/havoc.h
  8. +2 −2 havoc/havoc_test.c
  9. +141 −1 havoc/havoc_test.h
  10. +5 −5 havoc/pred_inter.cpp
  11. +21,971 −205 havoc/pred_intra.cpp
  12. +24 −41 havoc/pred_intra.h
  13. +7 −5 havoc/quantize.cpp
  14. +0 −3,941 havoc/residual_decode.cpp
  15. +0 −148 havoc/residual_decode.h
  16. +2 −2 havoc/sad.cpp
  17. +1 −1 havoc/ssd.cpp
  18. +5,379 −0 havoc/transform.cpp
  19. +150 −0 havoc/transform.h
  20. +1 −1 turing/AdaptiveQuantisation.h
  21. +57 −61 turing/Binarization.h
  22. +56 −57 turing/BlockData.h
  23. +19 −3 turing/CMakeLists.txt
  24. +155 −153 turing/Cabac.h
  25. +76 −71 turing/CabacWriter.h
  26. +3 −11 turing/CandModeList.h
  27. +99 −23 turing/CodedData.h
  28. +44 −0 turing/ContextModel.cpp
  29. +3 −21 turing/ContextModel.h
  30. +237 −214 turing/Decode.h
  31. +24 −269 turing/Dsp.h
  32. +34 −34 turing/EncSao.h
  33. +32 −0 turing/EncodeResidual.cpp
  34. +76 −0 turing/EncodeResidual.h
  35. +303 −0 turing/EncodeResidual.hpp
  36. +32 −0 turing/EncodeResidualPopcnt.cpp
  37. +40 −20 turing/Encoder.cpp
  38. +1 −0 turing/Encoder.h
  39. +1 −1 turing/EstimateIntraComplexity.h
  40. +1 −1 turing/EstimateRate.h
  41. +51 −72 turing/Global.h
  42. +34 −48 turing/GlobalState.h
  43. +35 −26 turing/Handlers.h
  44. +111 −84 turing/InputQueue.cpp
  45. +1 −1 turing/InputQueue.h
  46. +219 −115 turing/IntraReferenceSamples.h
  47. +255 −236 turing/QpState.h
  48. +322 −288 turing/RateControl.cpp
  49. +335 −163 turing/RateControl.h
  50. +20 −26 turing/Read.h
  51. +165 −90 turing/Reconstruct.cpp
  52. +6 −7 turing/ReconstructionCache.h
  53. +57 −2 turing/SCDetection.h
  54. +30 −0 turing/ScanOrder.cpp
  55. +91 −13 turing/ScanOrder.h
  56. +2 −2,481 turing/Search.cpp
  57. +2,568 −0 turing/Search.hpp
  58. +26 −0 turing/SearchLzcnt.cpp
  59. +31 −35 turing/Snake.h
  60. +5 −0 turing/Speed.h
  61. +193 −174 turing/StateEncode.h
  62. +16 −17 turing/StateFunctionTables.h
  63. +21 −11 turing/StatePictures.h
  64. +73 −71 turing/StateSpatial.h
  65. +2 −2 turing/StateValues.h
  66. +5 −3 turing/SyntaxCtu.hpp
  67. +28 −20 turing/TaskEncodeInput.cpp
  68. +22 −10 turing/TaskEncodeOutput.cpp
  69. +20 −8 turing/TaskEncodeSubstream.cpp
  70. +3 −5 turing/TaskSao.cpp
  71. +218 −454 turing/Write.h
  72. +11 −7 turing/encode.cpp
  73. +1 −1 turing/sei/user_data_unregistered.h
  74. +1 −2 turing/signature.cpp
  75. +1 −1 turing/turing.h
@@ -1,4 +1,9 @@
cmake_minimum_required(VERSION 2.8)

if( NOT CMAKE_BUILD_TYPE )
set( CMAKE_BUILD_TYPE Release FORCE )
endif()

project (turing)
if (USE_SYSTEM_BOOST)
else()
@@ -17,7 +17,10 @@ if (MSVC)
endif (MSVC)

if (CMAKE_COMPILER_IS_GNUCC)
set(GCC_COMPILE_FLAGS "-fno-operator-names -std=c++0x -O3")
set(GCC_COMPILE_FLAGS "-fno-operator-names -std=c++0x")
set(GCC_COMPILE_FLAGS "-fno-operator-names -pthread -std=c++1y")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-strict-aliasing -DNDEBUG ")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -DVALGRIND_FRIENDLY")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COMPILE_FLAGS}")
endif (CMAKE_COMPILER_IS_GNUCC )

@@ -30,26 +33,28 @@ add_library (havoc
pred_inter.h
pred_intra.h
quantize.h
residual_decode.h
sad.h
ssd.h
transform.h
havoc.cpp
havoc_test.c
diff.cpp
hadamard.cpp
pred_inter.cpp
pred_intra.cpp
quantize.cpp
residual_decode.cpp
sad.cpp
ssd.cpp
transform.cpp
README.md
)

add_executable(havoc-exe
main.cpp
)

unset(CMAKE_IMPORT_LIBRARY_SUFFIX)

target_link_libraries(havoc-exe havoc)

set_target_properties(havoc-exe PROPERTIES OUTPUT_NAME havoc)

0 comments on commit 09a838c

Please sign in to comment.