Skip to content


Uncompressed Video File Format Generator Utility

Register name used to load filter: uncvg
This is a JavaScript filter. It is not checked during graph resolution and needs explicit loading.
Author: GPAC team - (c) Telecom ParisTech 2023 - license LGPL v2

This filter provides generation of test images for ISO/IEC 23001-17
Generated pixels can be:

  • a pattern of colors in columns, or in rectangles if sq is set, using the specified palette.
  • an image source if img is used.

Colors specified in the palette can be default GPAC colors (see gpac -h colors), 0xRRGGBB or 0xAARRGGBB

When generating video, the pixels are shifted to the left at every frame

Components are described as N[bpc][+k] with

  • N: component type, one of M(mono), Y, U, V, R, G, B, A, d(depth), disp, p(palette), f(filterArray), x (pad)
  • bpc: bits per component value, default is 8. Non-integer values must be one of

    • sft: floating-point value on 16 bits
    • flt: floating-point value on 32 bits
    • dbl: floating-point value on 64 bits
    • dblx: floating-point value on 128 bits
    • cps: complex value as two floats on 16 bits each
    • cpf: complex value as two floats on 32 bits each
    • cpd: complex value as two floats on 64 bits each
    • cpx: complex value as two floats on 128 bits each
  • k: force component alignment on k bytes, default is 0 (no alignment)


vsize (v2d, default: 128x128): width and height of output image
c (strl, default: R8,G8,B8): image components
tiles (v2d, default: 1x1): number of horizontal and vertical tiles
interleave (enum, default: pix): interleave type

  • comp: component-based interleaving (planar modes)
  • pix: pixel-based interleaving (packed modes)
  • mix: pixel-based interleaving for UV (semi-planar modes)
  • row: row-based interleaving
  • tile: tile-component interleaving
  • multi: pixel-based interleaving (packed modes) for sub-sampled modes

sampling (enum, default: none): sampling types

  • none: no sub-sampling
  • 422: YUV 4:2:2 sub-sampling
  • 420: YUV 4:2:0 sub-sampling
  • 411: YUV 4:1:1 sub-sampling

block_size (uint, default: 0): block size in bytes
pad_lsb (bool, default: false): padded bits are at LSB in the block
ble (bool, default: false): block is little endian
br (bool, default: false): block has reversed components
pixel_size (uint, default: 0): size of pixel in bytes
row_align (uint, default: 0): row alignment in bytes
tile_align (uint, default: 0): tile alignment in bytes
cle (bool, default: false): byte-aligned components are little endian
img (str, default: ): use specified image as input instead of RGB generation
(bool, default: false): use input image size
pal (strl, default: red,green,blue,white,black,yellow,cyan,grey,orange,violet): default palette for color generation
fa (strl, default: B,G,G,R): bayer-like filter - only 2x2 on R,G,B components is supported
bpm (strl, default: ): set sensor bad pixel map as a list of cN (broken column), rM (broken row) or NxM (single pixel)
(frac, default: 25/1): frame rate to generate - using 0 will trigger item muxing
dur (frac, default: 1/1): duration to generate - using 0 will trigger item muxing
cloc (uint, default: -1, minmax: -1,6): set chroma location type
stereo (bool, default: false): dump a stereo image
sq (flt, default: 0): generate square patterns instead of columns
shade (bool, default: false): shade pixels from black at bottom to full intensity at top
scpt (bool, default: false): use single color per tile, first tile using the first color in palette