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:

  1. The Main Window
  2. Supported File Formats
  3. Keyboard Shortcuts and State Handler

1. The Main Window

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:

1.1. The central view and the Display Options Panel

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)

1.2. The Playlist Panel

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:

1.3. The Properties Panel

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.

1.4. The Navigation Bar

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:

1.5. The Info Panel

The info panel provides additional information on the item that is currently selected in the playlist. It sometimes also provides warnings.

2. Supported File Formats

YUView supports a wide variety of file formats. Just use the File->Open dialog to load the files into the playlist.

2.1 YUV Files

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:

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:

        

2.2 RGB Files

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:

2.3 Image files and Image Sequences

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).

2.4 Statistics Files (.csv)

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.

Draw Block Data
This block is available for all statistics types that provide block value data (non vector data) and allows you to control how this block data is rendered. Block data is basically a value (integer) that is associated to a specific block in a specific frame. So here, it can be controlled how the values are mapped to colors. The color mapping preview on the top gives a preview of the mapping. All changes to this dialog are also directly applied in the main window. In the Color Mapping drop down, the type of mapping from value to color can be chosen. There are 3 basic types of mapping:
  • Custom Color Gradient: The custom gradient is defined by a minimum and maximum value and by two corresponding colors. The minimum value will be mapped to the first color and the maximum value to the second color. The colors of all values in between the minimum and maximum value are linearly interpolated. If a value is not within the value interval, it will be clipped to the boundaries of the interval. The two colors can be set by the Custom Range color controls and the minimum and maximum value are set using the Value Range spin boxes.
  • Color Map: A color map is an explicit mapping where each value is mapped to an individual color. If there is no value/color entry in the color map, a default color will be used. Press the Edit Color Map button to open a dialog that enables editing of the color map (right image). Just double click the numbers and the colors to edit their value. Add new entries with the "+" button and delete entries with the "X" button. The default entry is at the button and the color component of this entry can also be edited.
    Hint: Use the Edit Color Map button to convert any currently set color mapping to a color map.
  • Predefined mappings: The remaining entries in the drop down are predefined color mapping (like jet, heat ...). Some of these might seem familiar from other plotting tools. For these predefined mappings, only the minimum and maximum value can be changed.

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.

Draw Vector Data
This block is available for all statistics types that provide vector data and controls how the vectors are rendered. These setting include: Line style, line width, the vector head and vector color. If Scale width to zoom is activated, the line width will increase the further you zoom in (the vector thickness will increase when zoomed in). Finally Map direction to color allows you to color the vectors according to their direction. The jet color mapping is used for this.
Draw Grid
The grid control block is available for all statistics items. As it was already mentioned, each entry (value or vector) is defined for a specific block. Here it can be controlled how (and if) a rectangle around this block is drawn. Here, the color, the line style and the line width of this boundary rectangle can be set up. Again, if Scale width to zoom is activated, the line width will increase the further you zoom in (the rectangle thickness will increase when zoomed in).

2.5 HEVC Files

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.

3. Keyboard Shortcuts and State Handler

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.