HEVC/H.265 is the short name of the High Efficiency Video Coding which is a video compression standard developed by the ISO/IEC Moving Picture Experts Group (MPEG) and ITU-T Video Coding Experts Group (VCEG). The difference between H.264/AVC and HEVC video coding standard can be found here . As the performance of the new HEVC standard is much better than former H.264/AVC, more and more devices and movies will adopt this standard soon.
HEVCAnalyzer is a HEVC (H.265) stream and YUV file GUI Analyzer based on wxWidgets which can give video developer a brief view of the video coding structures and video coding params. The project is launched under the interest which wish leading a free video coding analyzer for our researchers and video coding developers.
The program can be built on Windows Linux or Mac OS X, but the program does not fully test on MacOS X. I am trying to optimize the re-drawing efficiency as current the program re-drawing is very slow!
- Support YUV file
- Both 8bit and 10bit YUV file
- RGB pixel value of the frame in HEX mode or normal mode
- Y/U/V single color component
- Recognize the formated YUV width and height, and remember the width/height when open it second time
- Support the thumbnails of the YUV file and HEVC stream file
- Support scaling the frame of YUV and stream file in different size
- Frame Ruler shows the frame size
- Support HEVC stream file
- CU/PU/TU coding block structure
- PU type viewing
- Tiles viewing (partly support)
- Motion Vector
- Frame bit allocation (soon)
- POC/Frame decoding order
- And Soon More!
Windows
wxWidgets 3.0.2
wxsqlite3 (build with wx30)
Linux
libx11-dev libwxbase3.0-dev libwxgtk3.0-dev
libwxsqlite3-3.0-dev (this can be found on Debian testing)
Complier
Visual Studio 2013
clang++ with -std=c++11
Download wxWidgets 3.0.2 and wxsqlite3 source code, build them with config with DLL Debug/Release, config the Visual Studio include path and the lib path (add the wxWidgets and wxsqlite3 include lib path)
Open the VS sln file under the Bulid/Win, build the source code with F7 or Ctrl + F5
Prefer clang++
, but you can use g++ to build this project
if you want to build the project with gcc
, you can chang to CXX = g++
in the makefile of this project.
sudo apt-get install libx11-dev libwxbase2.8-dev libwxgtk2.8-dev libwxsqlite3-2.8-dev
cd ~
git clone https://github.com/XimingCheng/HEVCAnalyzer.git
cd ~/HEVCAnalyzer/Build/Linux
make
Get to run:
cd ~/HEVCAnalyzer/bin
./HEVCAnalyzer
Also, you can download the wxWidgets-2.8-12 source code to build, but you must note the setup.h in the source should #define wxUSE_GRAPHICS_CONTEXT 1
Download wxWidgets-2.8-12 source code, you can build it with Visual Studio or other IDE
Note that you must change setup.h in the wxWidgets-2.8-12 source code from:
#ifndef wxUSE_GRAPHICS_CONTEXT
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
To:
#ifndef wxUSE_GRAPHICS_CONTEXT
#define wxUSE_GRAPHICS_CONTEXT 1
#endif
If you use mingw to build wxWidgets, you must set USE_GDIPLUS=1
Build the wxWidgets source code you can located the build dir the source dir:
mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 USE_GDIPLUS=1 BUILD=release
You may change the BUILD mode to debug:
mingw32-make -f makefile.gcc MONOLITHIC=0 SHARED=1 UNICODE=1 USE_GDIPLUS=1 BUILD=debug
then you have to download the wxsqlite3 source code, and build it with mingw
mingw32-make -f makefile.gcc WX_VERSION=28 WX_SHARED=1 WX_MONOLITHIC=0 WX_UNICODE=1 WX_DEBUG=0 WX_DIR=/e/Project/wxMSW-2.8.12/
mingw32-make -f makefile.gcc WX_VERSION=28 WX_SHARED=1 WX_MONOLITHIC=0 WX_UNICODE=1 WX_DEBUG=1 WX_DIR=/e/Project/wxMSW-2.8.12/
NOTE THAT you must change WX_DIR
to your own wxWidgets src dir
You can use the Code::Blocks project in HEVCAnalyzer/Build/Win/
Email: [email protected]