Skip to content

A Y'Cb'Cr' lab that allows a filmmaker / artist to manipulate their files to maximize quality.

License

Notifications You must be signed in to change notification settings

rexbron/YCbCrVideoLab

 
 

Repository files navigation

Table of Contents

YCbCr Lab

User Interface

It is hoped that the user interface is as discoverable as possible for artists. The following is a list of existing hotkeys:

~: Scale to fit view
1: Scale to 1:1 pixel view
i: Set export trim in to current frame
o: Set export trim out to current frame

Intended Audience

Filmmakers and artists interested in extracting the highest possible quality from their Y'Cb'Cr' based footage.

Goals

To create a GUI application that can deal with raw bitwise exact manipulations of Y'Cb'Cr' based footage.

After manipulating the raw Y'Cb'Cr' sources to an artist's liking, the application will permit export to industrial grade formats such as EXR and DPX for mastering / finishing.

Techniques

Leverage several useful techniques to improve the quality of the Y'Cb'Cr' based footage.

  • Improved scaling of Cb' Cr' planes. In most instances, scaling of the Cb' and Cr' based planes is sub-optimal in quality due to the traditional need of playback-only viewing. This approach will leverage a best-in-breed approach known as cubic b spline with prefilter for optimal perceptual sharpness.
  • Linearization of footage sources. Sources in Y'Cb'Cr based footage is stored in non-linear color space models. Linearizing the footage provides reduces many optical errors in footage.
  • Improved color transformations. Precise control over color transformations is planned to provide greatest artist flexibility.
  • Out of gamut clipped values retained via use of floating point output and wide color space models.
  • Chroma reconstruction based on spill / binning techniques. Chroma scaling is destructive, but with some processing, some of the chroma can be reconstructed based on resultant out of gamut values.

Current State

  • Load bitwise exact raw Y'Cb'Cr' planes from 4:2:0 sources, unscaled.
  • Saves the first Y' plane in the series.

Near Targets

  • Export all frames to artist defined formats, unscaled.
  • Introduce first Y'Cb'Cr' merging to R'G'B' via nearest neighbor scaling of Cb' and Cr'.

Far Targets

  • Export ranges set on defined in and out points.
  • Complete scaling algorithm selection to include nearest neighbor, linear, cubic b, and cubic b with prefilter.
  • Integrate OpenColorIO for linearization and other color based transforms.
  • Add formats that are within the design scope such as support for 4:2:2 out of the Black Magic Camera.

About

A Y'Cb'Cr' lab that allows a filmmaker / artist to manipulate their files to maximize quality.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 89.8%
  • C 6.8%
  • Objective-C 2.7%
  • Prolog 0.7%