Skip to content

Action-Committee/x265

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

x265 HEVC Encoder

Read: | Online documentation | Developer wiki
Download: | releases
Interact: | #x265 on freenode.irc.net | x265-devel@videolan.org | Report an issue

x265 is an open source HEVC encoder. See the developer wiki for instructions for downloading and building the source.

x265 is free to use under the GNU GPL and is also available under a commercial license

HEVC compression complexity estimation in full-intra

This is a fork of the x265 HEVC encoder uses with the papilib profiling library in order to build an estimation model of the full-intra complexity. This is a research project realized throughout my engineering studies at INSA Rennes.

IDE

When debugging is needed, an IDE is really useful. I added in the build folder a configuration for eclipse CDT4 in debugging. The project can be generated using the provided bash file.

Profiling tools

I am using different tools to profile x265 : * To acquire processor times : papilib * To analyse profiling data : numpy and matplotlib

x265 configuration

  • No wavefront : --no-wpp
  • Full-intra : -I 1
  • Presets : -p <preset-number[0-9]>

Call hierarchies for full-intra encoding --------------------------------------

  • FrameEncoder::compressFrame
    • FrameEncoder::processRowEncoder
      • Analysis::compressCTU : Compress an entire CTU
        • Analysis::compressIntraCU : Find best encoding mode before encoding (RDO)

For the moment, most of the profiling job is done in Analysis::compressIntraCU (source/encoder/analysis.cpp)

Packages

No packages published

Languages

  • Assembly 65.6%
  • C++ 31.4%
  • C 2.3%
  • CMake 0.6%
  • Batchfile 0.1%
  • Shell 0.0%