Overview
When developing audio and video applications, working with raw YUV and RGB image data files is a common requirement. YUView is an open-source application that provides a robust solution for inspecting these raw data formats. The tool runs on multiple platforms including Linux, Windows, and macOS, making it particularly valuable for developers working across different operating systems.
Source Code and Compilation
The project is hosted on GitHub:
https://github.com/IENT/YUView
Pre-compiled binaries are available for Windows and macOS users. For Linux distributions like Ubuntu, compilation from source is required, though Ubuntu 22.04 offers direct package installation.
Building on Ubuntu
The following compilation steps were tested on Ubuntu 20.04.
Step 1: Install Qt5 Development Libraries
sudo apt install qt5-default
Step 2: Download Source Code
Obtain the source code from the releases page:
https://codeload.github.com/IENT/YUView/zip/refs/tags/v2.14
After extraction, navigate to the source directory and create a build folder:
~/projects/video-tools/YUView-2.14$ mkdir build
~/projects/video-tools/YUView-2.14$ cd build
Step 3: Generate Makefile
Use qmake to generate the Makefile from the project file:
~/projects/video-tools/YUView-2.14/build$ qmake ../YUView.pro
Info: creating stash file /home/user/projects/video-tools/YUView-2.14/build/.qmake.stash
~/projects/video-tools/YUView-2.14/build$ ls
Makefile
A Makefile will be created in the build directory.
Step 4: Compile the Project
Execute make from the build directory. Adjust the thread count based on your system capabilities:
make -j 8
The compilation process produces output similar to:
make[1]: Entering directory '/home/user/projects/video-tools/YUView-2.14/build/YUViewApp'
g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DYUVIEW_VERSION="0" -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CONCURRENT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/home/user/projects/video-tools/YUView-2.14/YUViewApp -I. -I/home/user/projects/video-tools/YUView-2.14/YUViewLib/src -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtXml -isystem /usr/include/x86_64-linux-gnu/qt5/QtConcurrent -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o yuviewapp.o /home/user/projects/video-tools/YUView-2.14/YUViewApp/src/yuviewapp.cpp
g++ -Wl,-O1 -o YUView yuviewapp.o -L/home/user/projects/video-tools/YUView-2.14/build/YUViewLib -lYUViewLib /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Xml.so /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so /usr/lib/x86_64-linux-gnu/libQt5Network.so /usr/lib/x86_64-linux-gnu/libQt5Core.so /usr/lib/x86_64-linux-gnu/libGL.so -lpthread
make[1]: Leaving directory '/home/user/projects/video-tools/YUView-2.14/build/YUViewApp'
Upon successful completion, the YUView executable will be available in the build directory.
Step 5: Install the Application
To install the application and create a desktop entry:
user@machine:~/projects/video-tools/YUView-2.14/build$ sudo make install
The application icon will appear in the desktop environment's application menu.
Alternative Build Method
Using Qt Creator, open the YUView.pro file directly. The IDE will automatically detect the GCC compiler. Configure the project and click the build button. Running sudo make install after compilation will install both the executable and the desktop entry.