YUView Help
Welcome to YUView. At it's core, YUView is a platform independent powerful viewer and player of raw video files in the YUV format. A multitude of different YUV formats as well as different conversions to RGB are supported. Furthermore, YUView supports raw RGB files, various types of image sequences, coded HEVC files, an overlay of statistics, comparison tools and the list goes on.
In the following, we want to provide an overview of YUView and all of its features as well as some valuable hints:
The main window of YUView is organized around one central view where the video and other items are displayed. Around this central widget, there are several dockable panels that provide various functions. All panels are freely movable and un-dockable. (Hint: The default layout of the dockable panels can be restored under Help->Reset Window Layout) In the following we will go into detail on the central view and the panels one by one:
Everything in YUView revolves around the central view. Here, the item that is currently selected in the playlist is shown. Use the left mouse button to drag the view and the right mouse button to zoom into a specific region in the item. Furthermore, you can zoom in and out using the mouse wheel or the '+' and '-' buttons. Use Ctl+F or double click the view to put it into full screen mode. Some more features of the central view can be controlled in the display options panel:
Hint 1: You can reset the central view by pressing Ctrl+0
Hint 2: The central view supports touch navigation and touch gestures (3 finger horizontal to switch frames, 3 finger vertical to switch sequences)
The playlist contains a list of items that will be played back from top to bottom (if the repeat mode is set to repeat all of course). This can be files that were opened (like YUV or HEVC files) or other special types. Within the playlist you can rearrange items by dragging them around. Some special items also allow other items to be dropped onto them. Items can be added by opening a file (File->Open, Right mouse click onto the playlist or the button underneath the playlist) or right clicking onto the playlist and creating one of the special items:
The properties panel can be used to change the properties of the currently selected item. The controls in this panel depend on the kind of item that is currently being selected. The specific controls are explained later but the controls that most items have in common are explained here.
Firstly, all items that are index by frames (like a video or image sequence) offer the following controls:
The start and end frame controls can be used to display only a subset of all frames in the sequence. E.g. you could select to only display the first 100 frames. The navigation bar will change accordingly. The rate control will set the desired playback rate. YUView will try to get as close as possible to this rate. If playback is too slow, try to increase/activate the cache. Finally, the sampling control can be set to only display every nth frame in the sequence and skip the frames in between.
With the second set of controls, the Frame size (width and height) of the sequence can be changed. The size can either be defined freely or the frame size drop-down offers a set of commonly used video sizes.
All items that are shown statically for a certain amount of time (like text items or images) do not offer these controls. Instead a duration control allows you to control the time that the item is displayed for if playback is running.
The navigation bar at the bottom of the window is similar to the navigation bars known from other media players. Playback can be started, paused and stopped. There is a horizontal slider and a spin box next to it for navigation within the selected sequence. When playback is running, the label next to the spin box will inform you about the currently drawn frame rate. Lastly, the repeat mode can be switched using the button on the right:
The info panel provides additional information on the item that is currently selected in the playlist. It sometimes also provides warnings.
YUView supports a wide variety of file formats. Just use the File->Open dialog to load the files into the playlist.
Firstly, YUView of course supports raw YUV formats with a wide range of subsampling modes, bit depths and packing options. When you open a YUV file, firstly, YUView will try to obtain the frame size and the YUV format from the file name. YUView recognizes the explicit frame size and frame rate indication separated by underscores like: "Something_2160x1440_60_8_more.yuv". In addition, the common size indication names like CIF, 1080p or VGA are supported. If the size could not be obtained from the filename, YUView will try to guess the size from the first two frames of the raw YUV data. Of course the frame size and other settings can also be changed in the properties panel. The following properties are specific to files that provide data in the YUV format:
YOut = inv*(YIn-offset) * scale + offset; (inv is -1 if inversion is activated and 1 if not)
If the required YUV format of the raw input data is not in the YUV format list, select "Custom..." to configure a specific YUV format:
Another raw format that YUView supports are raw data in the RGB format. As for YUV files, the size of the sequence can be set using the width/height controls or a predefined size can be set using the frame size drop-down. The following properties of RGB items can be set:
The format of the raw RGB data can be configured in the RGB format drop-down. If the required format is not in the list of presets, a custom format can be configured using the "Custom..." entry:
Since Qt already supports loading of images in various formats, YUView also makes use of this feature. A single image will be opened as a playlist item that is shown for a specific amount of time. If the image name contains a number at the end (E.g. Something00001.png), YUView will try to look for a numbered image sequence. The image sequence will behave like any other video sequence (the start/end frame, frame rate and the sampling can be set).
YUView supports a special kind of plain text CSV file. This file can contain raw (integer) values or (integer) vector values for a range of blocks within a range of frames. Basically, there is a list of entries, where each entry contains 8 values: A frame index, a x and y position of the block in pixels, the width and height of the block in pixels, a type ID, the value (one integer for pure values, 2 integers for vectors). The type ID then refers to a header entry, that defines, how the values can be mapped to color or how the vectors are drawn. YUView then takes this information, maps the values to colors and draws correspondingly colored blocks and/or vectors to the screen.
If you write some code to generate these files directly in the encoder/decoder, you can display virtually any data per block or vectors per block in YUView. This could include for example coding modes, cost per block, prediction modes or motion vectors. Hint: Move the statistics file and the corresponding reconstruction video into an overlay to show the data on top of the reconstruction. Please refer to the CSV file Wiki page for a detailed explanation of the CSV file format.
On the left, the controls are shown for an item that can provide statistics (in this example it's an HEVC file). For every statistic type, drawing can be enabled individually using the check box. The opacity control is especially useful if the statistic file is placed in an overlay with the reconstruction. The modify button on the right allows you to modify how the values are rendered (how are values mapped to colors and how is the information rendered).
The middle image shows the statistics rendering editor. The editor is split into 3 parts, where it depends on the statistics item which of the parts are available.
Finally, with the Value Scaling option you can enable scaling of the value according to the size of the block if this was not already done on the input data.
YUView can directly open h.265/HEVC encoded files in YUView. Just use file->Open. If the file extension is .hevc, YUView will try to use libde265 to open the file. In addition to the reconstructed video, the modified version of libde265 (libde265_internals) can also provide statistics directly from the bitstream like motion vectors, prediction modes and many more. Just select a statistic type in the properties panel to display the statistics.
Note: The only supported file format is the h.265/HEVC Annex B raw file format. In this raw file format, each NAL unit starts with a predefined start code (0x00 0x00 0x00 0x01) followed by the NAL unit header and the NAL unit payload data. There is no header of the file and no support for multiple streams / audio etc. This is the file format that the HEVC reference test model software (HM software) uses. There is no support for containers like .mkv or .mp4.
Here we want to give a list of keyboard shortcuts and mention the state handler feature. The state handler can save the current state of the view into one of 8 slots. This state includes the currently selected items, the selected frame number, the state of the splitting, the zoom factor and the view position. Use Ctrl + (1..8) to save the current state in one of the slots and the keys 1 to 8 to recall a slot. This also works with the separate view and linked views.
Note: The states are saved to/loaded from the playlist.
Finally, here is a list of all keyboard shortcuts:
Shortcut | Effect |
---|---|
Ctrl + S | Save the current playlist to file. |
Delete | Remove the currently selected playlist item from the playlist. |
Crtl + 0 | Reset the zoom to 1x and center the current item in the view. |
Ctrl + 9 | Set the zoom so that the entire image is visible in the current view. |
Ctrl + '+' | Increase the zoom factor. |
Ctrl + '-' | Decrease the zoom factor. |
Ctrl + L | Show/Hide the playlist dock widget. |
Ctrl + D | Show/Hide the display options dock widget. |
Ctrl + P | Show/Hide the item properties dock widget. |
Ctrl + I | Show/Hide the file info dock widget. |
Ctrl + F | Toggle full screen. |
Ctrl + W | Toggle the separate view. |
Space | Toggle play/pause. |
Up / Down | Switch to the next/previous item in the playlist. |
Left / Down | Go to the previous/next frame in the sequence. |
Ctrl + (0..8) | Save the current view state (zoom factor, position, frame, playlist item) in one of the slots. |
(0..8) | Recall the view state from one of the slots. |