HLG
A Professional Android Video Color Grading HLG Workflow for Editors
Discover how to take 10-bit mobile HDR media from capture straight through editing and grading without clipping highlights or relying on messy transcode workarounds.
Executing a reliable Android video color grading HLG workflow gives editors direct access to 10-bit wide-gamut mobile assets without dynamic range clipping or lossy intermediate transcodes. By recording in Hybrid Log-Gamma (HLG) rather than standard dynamic range (SDR) picture profiles, mobile cinematographers capture up to 1,000 nits of specular headroom and preserve rich chromatic nuance across the BT.2020 color gamut.
For editors accustomed to standard Rec. 709 8-bit smartphone video, working with 10-bit HLG requires fundamental shifts in capture discipline, color management, and tone mapping. Rather than stretching crushed midtones or repairing posterized gradients, an HLG pipeline maintains continuous mathematical curves from sensor capture through non-linear editing (NLE) mastering. This technical guide outlines how to configure an end-to-end post-production pipeline for Android HLG footage across Apple Final Cut Pro and DaVinci Resolve.
Understanding HLG vs Rec 709 Mobile Capture in Post-Production
The operational gap between traditional 8-bit Rec. 709 capture and 10-bit Hybrid Log-Gamma is evident on the NLE timeline. Standard mobile Rec. 709 video records within an 8-bit dynamic envelope (256 code values per channel) using an Optical-Electro Transfer Function (OETF) optimized for legacy cathode-ray tubes and standard displays. When high-contrast scenes exceed roughly 6 to 8 stops of dynamic range, standard smartphone cameras clip highlight information, converting bright skies and light sources into flat white cutoffs with zero recoverable texture.
By contrast, Hybrid Log-Gamma—standardized under ITU-R BT.2100 and co-developed by the BBC Research & Development team and NHK—combines a classic gamma curve in the lower luminance range with a logarithmic curve in the upper values. This hybrid structure captures broad scene-referred dynamic range (frequently up to 12 stops depending on the smartphone sensor) without requiring severe compression of midtone contrast.
Understanding HLG vs Rec 709 mobile pipelines requires analyzing data precision. When colorists attempt to pull details out of flat 8-bit mobile profiles, the discrete code values spread apart on the scopes, producing severe digital posterization and visible stepping across skies, skin, and interior walls. Encoding mobile video with 10-bit HEVC (Main 10) increases the palette to 1,024 discrete code values per color channel—four times the bit depth and 64 times the color resolution of 8-bit video. This extra precision completely eliminates gradient quantization artifacts during secondary color adjustments.
Indie filmmakers frequently ask how HLG compares to manufacturer-specific log curves. PrimeCam records HLG, not LOG. HLG is a display-referred curve that carries its own grade; there is no LOG profile. Because HLG is an established international broadcast standard rather than a proprietary log implementation, NLE color engines parse its transfer characteristics directly through standardized mathematical color transforms.
| Parameter | Standard Rec. 709 Mobile | 10-Bit HLG Mobile (BT.2100) |
|---|---|---|
| Bit Depth | 8-bit (256 levels per channel) | 10-bit Main 10 (1024 levels per channel) |
| Color Gamut | Rec. 709 (sRGB primaries) | Rec. 2020 (Wide Color Gamut) |
| Dynamic Range | Approx. 6–8 stops | Up to 12+ stops (scene dependent) |
| Transfer Function | BT.1886 / Rec. 709 OETF | Hybrid Log-Gamma (Log upper, Gamma lower) |
| Highlight Roll-Off | Hard digital clipping at 100% IRE | Soft logarithmic compression up to 1000 nits |
| Post-Production Flexibility | Low; severe banding under heavy grading | High; robust against heavy secondary transforms |
Capture Discipline: Exposing HLG with On-Device Scopes and Tags
A pristine post-production grade depends on strict exposure discipline on set. Because HLG bridges both SDR and HDR delivery scenarios, improper exposure ruins downstream highlight recovery. According to operational guidelines defined in ITU-R BT.2408, display-referred HLG luminance values require specific IRE benchmark placements:
- many Middle Grey: Should be exposed at approximately many IRE on the waveform monitor.
- Nominal Diffuse White: Standard non-reflective white surfaces (such as a clean sheet of paper or a white card) should land at roughly many IRE.
- Skin Tones: Depending on the subject's complexion, healthy skin tones sit comfortably between many and many IRE.
- Specular Highlights: Windows, direct sunlight reflections, chrome, and practical light fixtures can occupy the remaining headroom between many and many IRE, rolling off cleanly up to 1000 nits without instant clipping.
Evaluating exposure through the phone's auto-boosting screen on a bright exterior shoot is unreliable. Cinematographers must rely directly on real-time false colour and waveform tools. If skin tones climb past many IRE on set, the subject's skin moves past the natural gamma elbow and into the logarithmic compression zone, causing unnatural flattening and shifting chromatic tonality that is nearly impossible to decouple in post.
Equally vital are the file wrapper color space tags. If an Android camera app writes high-bitrate HEVC without accurate metadata atoms, post-production suites like Final Cut Pro and DaVinci Resolve default to Rec. 709 gamma. This mismatch causes clips to display with washed-out contrast, blown-out whites, and distorted saturation. PrimeCam writes HEVC Main 10 in a .mov file with the hvc1 sample entry and a full Rec. 2020 HLG colour tag, which Final Cut Pro reads natively.
Consistency across mobile hardware remains an engineering challenge across the fragmented mobile ecosystem. PrimeCam has been tested on the Pixel 10 and nothing else, which makes every other handset untested rather than unsupported. It requires Android 13 or later and a camera that can record 4K in 10-bit HLG.
Setting Up an Android Video Color Grading HLG Workflow in Final Cut Pro
Apple Final Cut Pro handles BT.2100 HLG media natively, provided the editing library and project sequences are configured for wide-gamut rendering. When media is ingested improperly, editors often encounter unexpected clipping or misapplied automatic LUTs that ruin the pristine 10-bit gradation.
1. Library and Project Configuration
Open Final Cut Pro and select your target Library in the sidebar. In the Library Properties inspector panel, click Modify under Color Processing. Switch the color processing from Standard (Rec. 709) to Wide Gamut HDR. This step instructs Final Cut Pro's internal 32-bit floating-point engine to process clip data using the BT.2020 color gamut and unconstrained dynamic range.
When creating a new timeline project (File > New > Project), verify that the Color Space dropdown is explicitly set to Wide Gamut HDR - Rec. 2020 HLG. Avoid selecting Rec. 2020 PQ unless you are specifically targeting Dolby Vision or HDR10 mastering pipelines, as PQ uses an absolute display-referred transfer function that requires distinct project metadata.
2. Ingesting Native HEVC Main 10 Clips
Professional editors often assume mobile video requires pre-rendering to ProRes 422 HQ via third-party desktop encoders. PrimeCam does not record ProRes. It writes HEVC Main 10, which Final Cut Pro opens natively without transcoding. To review detailed platform import procedures and file structure options, consult the official Final Cut Pro Android import guide.
3. Verifying Container Color Space Tags
Select your imported clip in the event browser and open the Video Inspector, then switch to the General or Extended view at the bottom of the inspector window. Check the Color Space Override field:
- Because the source contains explicit
hvc1sample descriptors and BT.2100 tags, the inspector should list the clip as Rec. 2020 HLG automatically. - Ensure the Camera LUT dropdown is set to None . Some NLE templates attempt to apply arbitrary Rec. many conversion LUTs onto mobile files, causing catastrophic double-tone-mapping.
4. Timeline Display Monitoring
Working on modern Apple silicon displays requires careful preview management. In the top-right corner of the FCP Viewer, click the View options menu:
- If grading directly on an Apple XDR display (such as the Liquid Retina XDR screen on modern MacBook Pro models), enable Show HDR as Tone Mapped or use native HDR rendering. The display will map up to 1,000 nits sustained luminance for accurate monitoring.
- If grading on an external standard dynamic range monitor, use the built-in HDR Tools effect set to HLG to Rec. 709 to view an accurate SDR preview while preserving the master HDR data beneath your adjustments.
NLE Color Management: Grading 10-Bit HLG Footage in DaVinci Resolve
Blackmagic Design DaVinci Resolve provides industry-standard mathematical transforms for grading 10-bit HLG footage. Editors can approach Resolve color management via two primary methodologies: automated DaVinci YRGB Color Managed (RCM) or manual Color Space Transform (CST) node architectures.
Automated Color Management (RCM)
For fast-turnaround projects, DaVinci YRGB Color Managed ensures seamless conversion:
- Navigate to Project Settings > Color Management.
- Set Color Science to DaVinci YRGB Color Managed.
- Uncheck Automatic Color Management to access granular control.
- Set Color Processing Mode to Custom.
- Set Input Color Space to Rec.2100 HLG.
- Set Timeline Working Color Space to DaVinci Wide Gamut / Intermediate.
- Set Output Color Space to your intended deliverable: Rec.709 Gamma 2.4 for standard web/broadcast, or Rec.2100 HLG for HDR displays.
Manual CST Node Pipeline
Most master colorists prefer manual CST node pipelines because they permit non-destructive adjustments before and after the primary color transform. In standard DaVinci YRGB mode, construct your node tree sequentially:
- Node 1 (Noise Reduction & Balance): Apply spatial noise reduction if necessary, and balance basic RGB exposure offsets.
- Node 2 (Primary Look & Saturation): Implement creative contrast and split-toning inside the uncompressed working space.
- Node 3 (Color Space Transform): Apply the Color Space Transform OFX plugin with the following parameters:
- Input Color Space: Rec.2020
- Input Gamma: Rec.2100 HLG
- Output Color Space: Rec.709 (or timeline working space)
- Output Gamma: Rec.709 or Gamma 2.4
- Tone Mapping Method: DaVinci or Luminance Mapping
- Gamut Mapping Method: Saturation Compression
A math-based CST pipeline is vastly superior to static 3D Look Up Tables (LUTs). A 33x33x33 or 65x65x65 3D LUT operates as an interpolated lattice grid that hard-clips values above 1.0 (many white) and below 0.0 (sub-black). In contrast, Resolve's 32-bit floating-point CST transforms calculate exact mathematical curves, compressing highlight data without digital artifacting, channel clipping, or banding.
Balancing Highlights, Midtones, and Skin Tones on Mobile Footage
Even properly exposed 10-bit smartphone footage requires thoughtful handling of color balance and dynamic range. Mobile camera sensors feature smaller pixel pitch and lower native photosite capacities than full-frame cinema sensors. As a result, colorists must account for specific sensor characteristics when balancing the image.
Preserving Realistic Skin Tones
When mapping wide-gamut Rec. 2020 footage into standard Rec. 709 delivery spaces, saturated hues can shift unpleasantly if saturation mapping is unconstrained. Red and yellow spectrums—where human skin tones reside—can become artificially hyper-saturated and orange.
To prevent this, use DaVinci Resolve's Gamut Mapping plugin or Final Cut Pro's saturation curves. Isolate the skin tone line on the vectorscope. If the skin values skew magenta or yellow, use small adjustments on the primary Offset wheel rather than dramatic lifts on the Lift/Gamma/Gain wheels. Keeping chromaticity inside standard physiological bounds prevents the plastic look often associated with digital mobile capture.
Sculpting Highlights and Log Wheels
Because HLG preserves highlight roll-off up to 1,000 nits, pushing midtones upward can inadvertently drive bright areas into hard display-panel limits. Instead of using standard Gain adjustments—which lift the entire upper quadrant uniformly—use Log Wheels (Shadow, Midtone, Highlight):
- Adjust the High Range threshold down to approximately many IRE.
- Gently lower the Highlight wheel to pull back cloud textures, exterior windows, and specular light sources.
- Use secondary curve controls (Custom Curves or Soft Clip) to establish an organic knee curve that mirrors the gentle shoulder of analog film stock.
Managing the Sensor Noise Floor
Mobile sensors pack high resolutions into compact physical footprints. While daylight exterior scenes shot at base ISO exhibit clean shadows, scenes captured at higher ISO settings in low-light environments hide sensor noise in the low code values. Raising the Lift wheel to extract shadow detail will invariably amplify digital chroma noise.
To maintain a clean aesthetic, set your black point decisively. Anchor true blacks near 0 to many IRE on the waveform monitor. Allow natural shadow regions to fall into deep, clean contrast rather than lifting the noise floor. If shadow recovery is mandatory, apply temporal noise reduction prior to the primary tone-mapping transform node.
Handling Metadata and Timing in an Android Video Color Grading HLG Workflow
Modern post-production pipelines rely heavily on metadata consistency. To maintain rigorous shot-logging and timeline accuracy, professional mobile workflows utilize sidecar data alongside high-bitrate video streams.
Auditing JSON Metadata Sidecars
Shooting on mobile often involves dynamic lighting changes and focal shifts across multiple physical camera modules (such as ultrawide, primary wide, and telephoto lenses). PrimeCam pairs every video recording with an individual JSON metadata sidecar containing comprehensive capture-time parameters:
- Sensor gain, analog ISO, and digital multiplier values.
- Calculated shutter speed and shutter angle equivalents.
- Exact physical lens focal lengths and optical aperture indices.
- On-device focus distance registers and tracking states.
Editorial teams can ingest these JSON files into digital asset management (DAM) platforms or match-move tracking software to replicate exact camera setups for visual effects and continuity grading.
Reconciling Mobile Frame Rates
Smartphone operating systems manage aggressive thermal mitigation, dynamic power throttling, and camera sensor clocking. In certain lighting setups, sensor readout timing variations can cause slight timing discrepancies at capture time.
PrimeCam targets 24 fps, and says so rather than assuming it. A take can come in marginally under nominal — auto exposure opening the shutter to the whole frame period leaves the sensor no time to read one out — so the app reports the rate it actually achieved in three places: the strip switches to the measured rate in warning colour while the take is rolling, the take card reads "23.92 fps measured, not 24.000", and the JSON sidecar carries measuredFps beside the requested fps. measuredFps is null when the take held its rate to within many and a number when it did not, so an editor conforming a timeline can tell the two cases apart.
When conforming takes in an NLE, set your timeline base rate to 24.000 fps (or 23.976 fps based on project specifications). If a clip displays minor timing variations, set the NLE clip retiming quality to Optical Flow or manually conform the playback speed to the project frame rate to eliminate micro-stutters and maintain frame-accurate audio-video synchronization across long takes.
Understanding Spanned Takes on Location
Long-format mobile recording introduces severe operational strain on Android flash storage controllers and RAM caches. Traditional camera software writes single, contiguous video containers; if the operating system terminates the process due to thermal spikes or memory pressure, the file container corrupts, destroying the entire take.
To protect capture assets, modern capture architecture breaks recordings into fault-tolerant segments. A take is written as a spanned clip: numbered parts of a few seconds each, each one finished as it is written. If the app stops unexpectedly the last few seconds are lost rather than the whole take, and the parts carry the take's name and import as one clip. That is a floor on what a crash costs, not a promise that nothing is lost: PrimeCam 0.1.0 is an early build and nothing irreplaceable should be shot on it yet.
Mastering and Delivery: Exporting Clean Rec. 709 and Rec. 2020 Masters
The final phase of an Android video color grading HLG workflow is generating mastering deliverables that display accurately across consumer screens, streaming servers, and social media platforms.
Dual Deliverable Pipeline
Professional post houses typically master projects into two distinct export tiers:
- Rec. 709 SDR Delivery: Mastered for standard television broadcast, corporate websites, and standard computer monitors. This pipeline uses tone mapping (via CST or FCP HDR Tools) to compress 1,000-nit highlight data into standard 100-nit display profiles without clipped highlights or crushed shadows.
- Rec. 2020 HLG Master Delivery: Mastered for modern HDR-capable televisions, smartphones, and platforms like YouTube and Vimeo that support native HDR playback. This pipeline retains full 10-bit luminance values, allowing HDR displays to drive individual pixels up to maximum panel brightness.
Container Metadata and Encoding Settings
Washed-out playback on web platforms is almost often caused by missing VUI (Video Usability Information) metadata tags in the export file container. When exporting HLG masters from DaVinci Resolve or Final Cut Pro, verify your delivery parameters:
- Codec: Apple ProRes 422 HQ (for broadcast mastering) or HEVC / H.265 Main 10 (for direct web delivery).
- Color Primaries: Explicitly select Rec.2020.
- Color Matrix: Select Rec.2020 Non-Constant Luminance.
- Transfer Characteristics: Explicitly select ARIB STD-B67 (HLG) or Rec.2100 HLG.
- Tags: Ensure QuickTime tags are set to
9-18-9(which maps to Rec.2020 Primaries, HLG Transfer, Rec.2020 Matrix).
Without these precise tags, video processing engines on platforms like YouTube or Vimeo fail to engage their internal HDR-to-SDR tone-mapping algorithms, resulting in muted, greyed-out video playback on consumer devices.
Auditing the Final Grade
Before delivering final files to clients, review your master across multiple physical screens. Check your tone-mapped Rec. 709 master on a calibrated sRGB/Rec. 709 monitor, and audit the HDR master on a high-brightness consumer mobile display (such as an OLED phone screen). Pay close attention to high-frequency highlight areas—such as neon signage, sunset skies, and direct sunlight reflections—to confirm that tone curves roll off smoothly without digital solarization or harsh clipping rings.
Conclusion: Building a Fast, Transcode-Free Mobile Grading Pipeline
Executing a dedicated 10-bit HLG workflow removes traditional mobile video compromises. By replacing compressed 8-bit Rec. 709 capture with high-bitrate 10-bit BT.2100 HLG, filmmakers capture professional-grade latitude, rich color separation, and robust highlight retention directly on modern Android hardware. With accurate container tags and color-managed timeline workflows in Final Cut Pro and DaVinci Resolve, post-production teams can eliminate proxy transcodes and grade directly from native camera masters.
For independent filmmakers and technical creators, operational control on set is just as critical as software fidelity in post. PrimeCam ships without the Android INTERNET permission, so the operating system itself refuses the app a network connection. There are no accounts, no analytics and no cloud sync. Explore our technical coverage on the PrimeCam cinema blog or review our zero-network privacy architecture to learn how modern Android cinema tools are engineered from the ground up.
Frequently Asked Questions
What makes an Android video color grading HLG workflow different from grading standard Rec. 709?
A standard Rec. 709 mobile workflow captures an 8-bit dynamic range (256 code values per channel) mapped to legacy display gamma curves, which severely limits highlight recovery and causes digital banding during color adjustments. In contrast, an Android HLG workflow records 10-bit Main 10 video (1,024 code values per channel) within the wide Rec. 2020 color space. This provides up to 1,000 nits of highlight latitude and requires a color-managed NLE environment (such as DaVinci YRGB Color Managed or Final Cut Pro Wide Gamut HDR) to map wide-gamut data cleanly to target display profiles without clipping.
Does PrimeCam support log recording for color grading?
PrimeCam records HLG, not LOG. HLG is a display-referred curve that carries its own grade; there is no LOG profile. Because Hybrid Log-Gamma is a standardized broadcast curve under ITU-R BT.2100, professional editing platforms natively understand its optical-electro transfer characteristics, eliminating the guesswork associated with proprietary, unstandardized smartphone log curves.
Can I edit and grade PrimeCam 10-bit HLG footage in Final Cut Pro without transcoding?
PrimeCam does not record ProRes. It writes HEVC Main 10, which Final Cut Pro opens natively without transcoding. This point is context dependent and should be treated as a cautious recommendation.
How do I prevent skin tones from looking hyper-saturated when tone mapping HLG to Rec. 709?
When mapping wide-gamut Rec. 2020 HLG footage down to standard Rec. 709, saturated red and yellow hues can compress unnaturally, making skin tones appear hyper-saturated and orange. To prevent this, often grade within a mathematically managed pipeline such as DaVinci Resolve's Color Space Transform (CST) with Saturation Compression or DaVinci Tone Mapping enabled. Additionally, use secondary saturation-versus-luminance curves to pull back excessive saturation in the highlights while preserving natural contrast across the midtones.
Download PrimeCam 0.1.0 in open testing from Google Play to capture native 10-bit HLG QuickTime files, and consult our import guide to streamline your NLE timeline setup. PrimeCam 0.1.0 is on Google Play in open testing: anyone can install it from the listing without an invite. It is a test build, not a stable release. PrimeCam is free to download from Google Play. What it will cost after 1.0 has not been announced. Learn more about our cinema tools at PrimeCam.