Skip to content

Supported File Formats

This page lists all file formats supported by OpenRV Web.

Image Formats

FormatExtensionsDecoderHDRNotes
PNG.pngBrowser nativeNoLossless, supports transparency
JPEG.jpg, .jpegBrowser nativeNoLossy compression
WebP.webpBrowser nativeNoModern format; loaded as single-frame still (animated playback not supported)
GIF.gifBrowser nativeNoLoaded as single-frame still (animated playback not supported)
BMP.bmpBrowser nativeNoUncompressed bitmap
SVG.svgBrowser nativeNoVector graphics (rasterized by browser)
ICO.icoBrowser nativeNoIcon format
AVIF.avifBrowser nativeNoAV1-based still image
HEIC/HEIF.heic, .heifNative (Safari) / libheif WASM (other browsers)NoApple image format
EXR.exr, .sxrTypeScript decoderYesFloat32 HDR, multi-layer, AOV; multi-view stereo files are parsed and per-view decoding is wired to the stereo renderer via separate input format
DPX.dpxCustom decoderYesLog-to-linear conversion
Cineon.cin, .cineonCustom decoderYesConfigurable film gamma
Radiance HDR.hdr, .picCustom decoderYesRGBE encoding
Float TIFF.tiff, .tifCustom decoderYesFloat samples only (16/32/64-bit); JPEG compression not supported
JPEG XL.jxlWASM (libjxl) + browser native HDRYesModern HDR format
JPEG 2000.jp2, .j2k, .j2copenjph WASMNoWavelet compression
HTJ2K.jph, .jhcopenjph WASMNoHigh-throughput JPEG 2000
JPEG Gainmap.jpgMPF parserYesSDR base + gainmap for HDR
HEIC Gainmap.heicISOBMFF parserYesApple and ISO 21496-1 gainmap
AVIF Gainmap.avifISO 21496-1 parserYesAuxiliary gain map items
RAW PreviewVariousPreview extractorNoEmbedded JPEG preview from camera RAW

EXR Details

EXR decoding supports:

  • Compression: NONE (uncompressed), RLE, ZIP, ZIPS, PIZ (wavelet), PXR24 (lossy for float, lossless for half), DWAA and DWAB (DCT)
  • Multi-layer: Named layers with AOV selection and channel remapping
  • Multi-view: Separate left/right eye views are parsed and per-view decoding is wired to the stereo renderer via the separate input format; the user must enable a stereo display mode to view left/right eyes independently
  • Data/Display windows: Separate data and display window regions
  • Float32 precision: Full HDR dynamic range

Gainmap HDR

JPEG, HEIC, and AVIF gainmap formats reconstruct HDR images from an SDR base image and a gain map. The reconstruction applies:

  • XMP headroom extraction (for JPEG)
  • sRGB-to-linear conversion
  • Gain formula application
  • ISO 21496-1 standard support (for HEIC and AVIF)

Video Formats

FormatExtensionsDecoderNotes
MP4.mp4, .m4vWebCodecs (mediabunny)H.264, H.265, AV1
3GP.3gp, .3g2WebCodecs (mediabunny)Mobile video
MOV.mov, .qtWebCodecs (mediabunny)QuickTime container
MKV.mkv, .mk3dWebCodecs (mediabunny)Matroska container
WebM.webmWebCodecs (mediabunny)VP8, VP9, AV1
OGG.ogg, .ogv, .ogm, .ogxWebCodecs (mediabunny)Theora, VP8
AVI.aviBrowser fallbackLegacy container
MXF.mxfMXF DemuxerMetadata-only; no pixel decode. Parses codec, resolution, FPS from header

HDR Video

HDR video files with HLG or PQ transfer functions are supported through VideoFrame texturing. The renderer applies the appropriate EOTF (Electro-Optical Transfer Function) in the fragment shader.

ProRes and DNxHD

ProRes and DNxHD codecs are detected during MXF and MOV parsing. Since browsers lack native ProRes/DNxHD decoding, OpenRV Web provides FFmpeg transcoding guidance when these codecs are encountered.

Sequence Formats

PatternExampleDescription
Printfframe.%04d.exrC-style format notation
Hashframe.####.exrEach # = one digit
At-signframe.@@@@.exrEach @ = one digit
Numericframe_001.pngAuto-detected numbering

Procedural Test Patterns

OpenRV Web can generate procedural test patterns without loading any file. These patterns are useful for display calibration, pipeline testing, and scope verification.

PatternDescription
SMPTE BarsStandard SMPTE color bars
EBU BarsEBU color bar pattern
Color ChartColor reference chart
CheckerboardConfigurable cell-size checkerboard
GradientHorizontal or vertical gradient ramp
Grey RampStepped grey ramp with configurable step count
SolidSolid color fill (configurable RGBA)
Resolution ChartResolution test chart

Patterns are accessible via the API using openrv.media.loadProceduralSource('smpte_bars') or the OpenRV-compatible .movieproc URL format (e.g., checkerboard,cellSize=32.movieproc). Desktop OpenRV aliases (smpte.movieproc, checker.movieproc, ramp.movieproc) are also supported.


Session and Timeline Formats

FormatExtensionsDirectionNotes
OpenRV Web Project.orvprojectRead/WriteFull session state as JSON
RV Session.rvReadOpenRV GTO session files
GTO.gtoReadGraph Topology Object files
RV EDL.rvedlReadOpenRV edit decision list
OTIO.otioReadOpenTimelineIO editorial timelines
CMX 3600 EDL.edlWriteStandard edit decision list

LUT Formats

FormatExtensionTypeNotes
Cube.cube1D and 3DIndustry standard
CSP.csp1D and 3DCinespace format
3DL.3dl1D and 3DAutodesk/Lustre format
ITX.itx3DIRIDAS SpeedGrade format
Look.look3DXML-based IRIDAS format
Houdini LUT.lut1D and 3DHoudini channel and 3D types
Nuke Vectorfield.nk3DNuke exported vectorfield
Pandora MGA.mga3DPandora color corrector format
RV 3D LUT(native)3DOpenRV native 3D format
RV Channel LUT(native)1DOpenRV native 1D format

LUTs are loaded as float32 data and applied via hardware trilinear interpolation (for 3D LUTs) in the GPU fragment shader. A higher-accuracy tetrahedral interpolation path is available for CPU-side processing (TetrahedralInterp.ts).

CDL Formats

FormatExtensionDirectionNotes
ASC CDL.cdlRead/WriteSingle color decision in XML format
CC.ccReadSingle ColorCorrection element
CCC.cccReadColorCorrectionCollection with multiple entries

OCIO Configuration

FormatExtensionDirectionNotes
OpenColorIO Config.ocioReadColor management pipeline configuration

Released under the MIT License.