PrimeCam

10-bit HEVC

10-Bit HEVC Main 10 on Android: What It Actually Changes for Your Footage

Learn how 10-bit HEVC Main 10 and Rec. 2020 HLG change what your Android camera captures, where 8-bit still holds up, and how to keep the extra bit depth intact all the way into Final Cut Pro.

Switching to 10-bit HEVC Main 10 Android recording fundamentally alters how your mobile footage behaves in post-production by expanding the luminance and chrominance scale from 256 discrete levels per channel to 1,024. This fourfold increase in sampling density eliminates the posterization and severe banding typical of mobile clips when capturing subtle sky gradients, dense smoke, or high-saturation lighting.

For mobile filmmakers, this shift bridges the historic gap between phone camera capture and desktop finishing environments. Instead of fighting brittle 8-bit files that break apart during a basic exposure lift, working with a true 10-bit capture path preserves micro-tonal gradation across the entire tonal curve. Understanding what the underlying HEVC Main 10 profile actually stores—and how your non-linear editing system (NLE) interprets its metadata—is the key to unlocking cinema-grade results from mobile hardware.

Why 10-Bit HEVC Main 10 Became the Baseline for Android Cinematography

For more than a decade, 8-bit H.264 served as the default encoding format for mobile video. It matched the processing capabilities of earlier system-on-chip (SoC) architectures and aligned directly with standard-dynamic-range (SDR) delivery targets mastered in the ITU-R BT.709 colour space. However, as mobile camera sensors expanded their native dynamic range and consumer displays adopted high dynamic range (HDR) panels, 8-bit compression became the primary bottleneck in mobile workflows. Modern flagship silicon now features dedicated hardware blocks capable of encoding 10-bit HEVC (High Efficiency Video Coding / H.265) in real time without thermal runaway.

8-bit Channel:   [ 256 tonal steps per RGB channel ]  --> ~16.7 million colors
10-bit Channel:  [ 1024 tonal steps per RGB channel ] --> ~1.07 billion colors

Main 10 is the standardized HEVC profile defined to support bit depths of up to 10 bits per sample. While standard consumer implementations retain 4:2:0 chroma subsampling—meaning colour resolution remains half that of luminance both horizontally and vertically—the structural improvement lies in precision rather than spatial chroma density. Each sampled component is mapped across 1,024 integer steps (ranging from code values 64 to 940 in narrow range, or 0 to 1023 in full range) instead of the standard 256 steps of 8-bit files.

The practical payoff can be distilled into a single principle: you get four times the tonal precision per channel, yielding over a billion potential colour combinations instead of 16.7 million. This arithmetic advantage becomes visible across smooth gradients, saturated theatrical lights, and skin tones under challenging mixed illumination.

Furthermore, delivery-side standards have converged. Streaming platforms, broadcast networks, and modern editing platforms expect HDR10 or HLG masters constructed on a 10-bit foundation. With hardware encoding present on current SoCs, mobile capture and post-production standards are finally aligned.

There is an important caveat: a 10-bit container does not guarantee genuine 10-bit sensor data. Some camera software frameworks capture an 8-bit YUV stream from the hardware image signal processor (ISP) and pad the least significant bits with zeros inside a 10-bit encoder. To verify that your hardware camera pipeline actually outputs genuine 10-bit tonal gradation, you can cross-reference our guide on Android smartphone video bit depth comparisons to spot the telltale signs of bit padding.

HEVC Main 10 vs 8-Bit: Where the Extra Two Bits Actually Show Up

The primary confusion surrounding HEVC Main 10 vs 8-bit footage stems from viewing unedited files on a standard mobile display. Side by side, a well-lit, medium-contrast scene encoded in 8-bit Rec. 709 often looks nearly indistinguishable from a 10-bit capture. The structural divergence occurs the moment you subject the file to digital signal processing or stretch its contrast values in post.

Log/Linear Luminance Step Distribution:
8-bit:   |-------|-------|-------|-------|  (Visible quantization error under stretch)
10-bit:  |-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|  (Continuous tonal illusion preserved)

In an 8-bit file, pushing exposure by two stops in an NLE or remapping midtone contrast pulls discrete code values apart. Because there are only 256 values spanning black to white, these gaps appear on screen as visible stair-stepping—commonly known as macroblocking or contour banding. This is particularly noticeable in wide open skies, fog, dimly lit backdrops, and soft shadow falloffs. In contrast, 10-bit HEVC Main 10 distributes 1,024 values across that same range. When you push shadows or adjust highlights, adjacent code values remain sufficiently close to preserve the illusion of a smooth, continuous analog tone.

Metric / Parameter 8-Bit H.264 / HEVC 10-Bit HEVC Main 10
Code Values per Channel 256 (0–255) 1,024 (0–1023)
Total Addressable Colours ~16.78 Million ~1.07 Billion
Grading Tolerance Low (Bands under moderate lift/pull) High (Preserves smooth gradients under grade)
Chroma Subsampling (Standard) 4:2:0 4:2:0
Decode Hardware Demand Low (Universal hardware playback) Moderate to High (Requires modern hardware decoders)
Dynamic Range Impact Preserves up to 6–8 usable stops cleanly Preserves highlight/shadow roll-off across full sensor capture

However, 8-bit capture remains perfectly acceptable for straightforward scenarios: low-contrast scenes shot in balanced daylight, rapid turnarounds destined immediately for social platforms, or dialogue recorded strictly for reference.

Conversely, capturing in 10-bit HEVC comes with practical costs. While the compression efficiency of HEVC keeps byte counts reasonable, decoding 10-bit Main 10 media requires significant compute power. Older editing machines without hardware HEVC decoding capabilities will stutter during timeline scrubbing. For a deeper breakdown of data management across these files, read our technical overview on Android smartphone 10-bit HEVC workflows.

A vital technical distinction must be maintained: 10-bit recording does not magically increase your sensor's physical dynamic range. The physical dynamic range is governed strictly by the sensor's photosite capacity, full-well depth, analog gain stages, and noise floor. The 10-bit quantization simply records the dynamic range your sensor already captured with dramatically finer precision, preventing highlight rolloffs and deep shadow curves from disintegrating into digital noise and contour lines.

Rec. 2020 HLG Explained: A Display-Referred Curve, Not a Flat Log

To utilize 10-bit encoding effectively on mobile platforms, the video signal must be paired with an appropriate transfer function and colour space. The international standard for broadcast-compatible HDR mobile filming is Rec 2020 HLG.

Hybrid Log-Gamma (HLG), standardized in ITU-R BT.2100, is a display-referred HDR transfer function. Unlike scene-referred or camera-specific LOG profiles, HLG uses a hybrid mathematical structure: the lower portion of the signal follows a standard gamma curve, while the upper values transition into a logarithmic curve. This design allows HLG footage to display reasonably well on standard dynamic range (Rec. 709) monitors while mapping specular highlights and extended brightness up to 1,000 nits on compatible HDR displays.

Signal Output
  ^
1.0 |                              /--- Log Curve (Highlights > 50% luminance)
    |                            /
0.5 |                  /-------- Gamma Curve (Standard SDR range)
    |         /-------
0.0 +-----------------------------------> Scene Luminance

It is crucial to contrast this with camera LOG profiles:

  • LOG profiles intentionally flatten the image into a low-contrast, low-saturation capture state that is unusable out of camera and strictly requires a technical lookup table (LUT) or an extensive manual grade.
  • HLG is display-referred; it arrives with an operational contrast curve intact and carries its own display intent. PrimeCam records HLG, not LOG. HLG is a display-referred curve that carries its own grade; there is no LOG profile.

HLG on Android is typically paired with the ITU-R BT.2020 wide colour gamut. As documented in technical breakdowns such as Nick Crump's analysis of the Rec. 2020 colour space, BT.2020 covers approximately 75.8% of the CIE 1931 colour space, compared to the roughly 35.9% covered by standard Rec. 709. This expanded gamut ensures that intensely saturated light sources—such as stage gels, neon signs, and deep floral hues—are stored accurately within the 10-bit file without clipping into out-of-gamut solid blocks.

For desktop editors, HLG demands correct project-level colour management. If you drag a Rec. 2020 HLG clip onto an unmanaged Rec. 709 timeline, the NLE may display it with blown-out highlights and oversaturated skin tones. Applying a generic creative LUT directly onto unmanaged HLG footage compounds the error. Instead, the clip must be correctly tagged in your NLE so the software accurately tone-maps the wide gamut down to your working environment.

Remember that HLG's highlight headroom does not eliminate the need for proper exposure discipline. If a sensor photosite saturates and clips at the hardware level, that highlight is permanently unrecoverable—regardless of whether it is written into an 8-bit or 10-bit container.

What Has to Be True Before an Android Phone Can Record 10-Bit HEVC Main 10

Encoding continuous 10-bit video on Android requires strict hardware and operating system support. A smartphone must meet three distinct technical criteria:

  1. Hardware Encoder: The mobile SoC (System on Chip) must contain a dedicated hardware media encoder supporting the HEVC Main 10 profile. Software-based CPU encoding is far too slow for real-time high-bitrate 4K capture.
  2. Camera Sensor & ISP Throughput: The image sensor and ISP must deliver 10-bit YUV streams (typically YUV_420_888 configured for 10-bit or P010) to the camera subsystem at full resolution and target frame rates.
  3. Storage Write Bandwidth: Sustained internal storage write speeds must reliably support data rates ranging between 60 Mbps and 150+ Mbps without thermal throttling or frame drops.
[ Sensor Photosite Array ]
           │ (Analog readout)
[ Hardware Image Signal Processor ]
           │ (10-bit YUV / P010 stream via Camera2 API)
[ Dedicated Hardware MediaCodec ]
           │ (HEVC Main 10 Compression)
[ MP4 / MOV Container Engine ] ──> Fast Flash Storage

From an operating system standpoint, Android 13 serves as the practical baseline. While earlier releases introduced rudimentary HDR features, Android 13 introduced robust, standardized support within the Camera2 API for 10-bit dynamic range profiles (specifically DYNAMIC_RANGE_PROFILE_HLG10). This interface allows capture apps to query hardware capabilities directly and request true 10-bit streams without relying on manufacturer-proprietary workarounds.

However, manufacturer implementation of Camera2 remains inconsistent across the ecosystem. A handset vendor might advertise "10-bit capture" in consumer marketing, only for that capability to be restricted to 10-bit HEIF static photos or exclusive to the stock camera application. Third-party developers frequently discover that external access to 10-bit video pipelines is disabled in the device's HAL (Hardware Abstraction Layer).

Because marketing specifications can be ambiguous, verifying captured files with a dedicated utility is essential. Using analysis software like MediaInfo allows you to inspect the file's video stream parameters directly to verify that the profile is listed as Main 10@L5.1 (or higher) with a confirmed Bit depth: 10 bits. The analytical methodology for checking bitrates and profile headers is described in detail by Streaming Learning Center's video analysis guide.

The developer reports testing on Pixel 11, Pixel 10 Pro and Pixel 10, plus a Samsung phone on 15 September 2026 whose model has not been recorded. Earlier documented field testing also covers Pixel 10 Pro XL and Pixel 6a. These reports do not establish support for all Samsung phones or every recording mode; capabilities vary by device. Developer testing on 15 September 2026 found that Pixel 9a does not support 10-bit recording in PrimeCam; it is not a supported device for the current 10-bit HLG recording mode. It requires Android 13 or later and a camera that can record 4K in 10-bit HLG.

Container, Sample Entry and Colour Tags: Why the File Wrapper Decides Your Workflow

Encoding a 10-bit HEVC stream is only half the battle; how that stream is packaged inside its file wrapper determines whether an editing suite can interpret it correctly. Professional NLEs do not inspect raw bitstreams to guess exposure characteristics; they rely on standard container atom tags.

A critical point of divergence is the HEVC sample entry four-character code (FourCC): hvc1 vs hev1.

  • Under the hev1 sample description, codec parameter sets (VPS, SPS, PPS) can be transmitted inline within the elementary video stream.
  • Under the hvc1 sample description, parameter sets must reside globally inside the sample description atom (stsd).

Apple operating systems and QuickTime-based tools—including Final Cut Pro—prefer hvc1. When an Android capture engine outputs an HEVC stream wrapped in an MP4 container marked with hev1, Final Cut Pro may reject the file, show a black preview window, or require an unnecessary transcoding step.

Equally important are the Master Colour Identification tags embedded in the container's colr atom:

  1. Colour Primaries: Must identify ITU-R BT.2020 (1 or 9).
  2. Transfer Characteristics: Must define HLG / ITU-R BT.2100 (18).
  3. Matrix Coefficients: Must specify BT.2020 non-constant luminance (9).
Sample Description Atom (stsd)
  └── Sample Entry: "hvc1"
        └── Extension Atom: "colr"
              ├── Colour Primaries: BT.2020 (9)
              ├── Transfer Function: HLG / BT.2100 (18)
              └── Matrix Coefficients: BT.2020 non-constant (9)

If these tags are missing or misconfigured, desktop editors will fall back on default assumptions—often misinterpreting the clip as standard Rec. 709 SDR. This causes footage to appear washed out, flat, and incorrectly mapped on your timeline. To learn more about how wrappers affect desktop performance, explore our analysis of MOV vs MP4 container formats for mobile video.

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.

Getting 10-Bit HEVC Main 10 Android Recording Into Final Cut Pro Without Transcoding

Bringing mobile footage into a professional post-production workflow has historically required converting files to intermediate codecs. However, because modern Apple silicon features robust hardware HEVC decoders, transcoding to heavy editing formats is largely unnecessary if the container structure is configured properly from the start.

PrimeCam does not record ProRes. It writes HEVC Main 10, which Final Cut Pro opens natively without transcoding. Skipping the transcode to intermediate formats saves massive amounts of local disk space and avoids long offload queues when transferring files to your editing machine.

[ Android Device Capture ]
           │ (Native .mov / hvc1 / Rec. 2020 HLG)
           ▼
[ Direct File Transfer ] ──> Fast USB-C / Thunderbolt
           │
           ▼
[ Final Cut Pro Timeline ]
     ├── Project Colour Space: Wide Gamut HDR (Rec. 2020 HLG)
     ├── Zero Transcoding Overhead
     └── Immediate Timeline Playback

To maintain a smooth workflow, verify that your Final Cut Pro project library is set up correctly:

  1. Create a Library set to Wide Gamut HDR in the Library Properties inspector.
  2. Create your project timeline set to Wide Gamut HDR - Rec. 2020 HLG.
  3. Import your native .mov media without checking "Create optimized media" or "Create proxy media."
  4. Inspect the clip in the Video Inspector: the Color Space Override should naturally register as Rec. 2020 HLG.

In addition to the raw media stream, handling timecode and frame pacing is critical. Mobile devices frequently experience slight timing variations due to thermal regulation or exposure adjustments. To keep your edit aligned, PrimeCam pairs every take with an external JSON sidecar detailing the clip's precise capture telemetry. You can learn how to ingest this sidecar data into your project using our guide on the JSON metadata sidecar workflow.

Post-Production Troubleshooting Matrix

Symptom on Timeline Underlying Cause Corrective Action
Footage imports washed out and chalky Timeline is set to Standard Rec. 709 without an HLG tone-mapping transform applied. Switch timeline properties to Wide Gamut HDR (Rec. 2020 HLG) or apply HDR Tools to map down to Rec. 709.
Clip imports with hyper-saturated neon skin NLE misread primaries, assuming Rec. 709 on a wide-gamut BT.2020 stream. Set the clip's Color Space Override in the clip inspector to Rec. 2020 HLG.
Import dialog fails or shows black screen HEVC codec uses hev1 parameter multiplexing instead of hvc1. Wrap the stream into an hvc1 QuickTime .mov container prior to import.
Timeline stutter during playback Host system lacks 10-bit HEVC hardware decoding blocks. Generate lightweight editing proxies within the NLE for cutting, then conform back to the original media.
Audio falls out of sync on long takes Shutter speed forced frame duration variations at capture time. Check the sidecar JSON for measured frame rates and conform the project accordingly.

If you are setting up your editing pipeline for the first time, consult our detailed walkthrough on how to edit 10-bit HLG video in Final Cut Pro.

Monitoring and Exposure Discipline When You Have 10 Bits to Spend

A common misconception among mobile videographers is that moving to 10-bit HLG capture provides an automatic safety net for sloppy exposure. In reality, having 1,024 quantization steps simply rewards precise exposure calibration; it does not protect against clipping.

Because HLG utilizes a display-referred curve that places standard skin tones near the middle of the scale and maps specular highlights toward peak brightness, monitoring tools built specifically for HDR values become essential on set:

  • Waveform Monitors: Essential for monitoring exposure distribution. Middle gray sits predictably in the lower midtone band on an HLG waveform, while skin tones typically land just above it. Keeping key subject values within these target windows ensures clean SDR tone-mapping later.
  • False Colour Displays: Provide immediate feedback on highlight exposure. A false colour overlay calibrated for HLG shows exactly when bright skies approach digital saturation, preventing clipping before the signal reaches the encoder.
HLG Exposure Guide (IRE Scale):
100% ──── Pure Specular Peak (Direct lights, chrome reflections)
 75% ──── Extended Highlight Shoulder (White diffuse highlights)
 50% ──── Middle Tonal Values (Skin tones, key subjects)
 38% ──── 18% Middle Gray
  0% ──── Absolute Black Floor (Noise floor cutoff)

Focus precision is just as critical as exposure. Because 10-bit HEVC preserves fine edge contrast without blurring subtle transitions into compression artifacts, soft focus becomes immediately apparent on high-resolution displays. On-set tools like focus peaking and intelligent tracking help maintain sharp subject separation.

PrimeCam focuses on the subject's nearer eye, and falls back to the head and then the body when it cannot resolve one — the ladder professional stills and cinema bodies use, and which was historically confined to them. It names the rung it is actually on: EYE, FACE, BODY, or NO SUBJECT. Faces and their eye positions come from the Pixel's own image signal processor; bodies, animal heads and eyes, and faces turned to profile come from models bundled in the app. Nothing leaves the device. Call it eye-detection autofocus or Eye AF, not "eye tracking" — it follows the subject's eye, not the operator's gaze.

Pacing and frame timing require careful monitoring throughout a shoot. 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 nominal limits and a number when it did not, so an editor conforming a timeline can tell the two cases apart.

For a deeper dive into on-set monitoring practices, review our guide to waveform monitoring for mobile video.

Common Mistakes and Edge Cases in 10-Bit HLG Android Workflows

Even experienced editors run into friction when integrating 10-bit Android media into desktop projects. Watching out for a few common failure modes will save valuable time in post:

Common Pipeline Trap:
[ 10-bit HLG Capture ] ──> [ Transcode to 8-bit SDR Intermediate ] ──> [ Grade ]
                                        │
                                        └── Truncates code values from 1024 to 256!
                                            (Destroys grading headroom immediately)

1. Conflating Stills Capabilities With Video Pipelines

Assuming that a smartphone capable of capturing 10-bit Ultra HDR static photos can automatically record 10-bit HEVC video is a frequent mistake. Stills and video pass through entirely different processing blocks in mobile hardware. Stills pipelines utilize burst-capture computational stacking over multiple frames, whereas video demands continuous, real-time 60fps or 24fps stream encoding through the hardware MediaCodec framework.

2. Truncating Precision Through Intermediate Transcodes

If your workflow requires converting footage prior to editing, transcoding 10-bit HEVC into an 8-bit intermediate codec immediately discards the extra precision you captured. often maintain a 10-bit pipeline end-to-end—from capture to archive master.

3. Mixing Colour Spaces on a Single Timeline

On mixed-device shoots where mobile 10-bit HLG clips sit alongside standard 8-bit Rec. 709 b-roll, placing all media onto an unmanaged timeline causes immediate colour shifts. Establish clear colour-management rules at the project level: use an input colour space transform on your 8-bit clips to map them cleanly into your wider working colour space.

4. Spanned Recording on Long Takes

To prevent file system corruption and safeguard memory buffers during extended takes, robust capture engines segment recordings into smaller, finished physical files. 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. For detailed assembly instructions, see our walkthrough on spanned clip workflows for mobile videography.

Pre-Flight Production Checklist

  • Confirm your handset exposes true 10-bit HLG capture in the camera pipeline.
  • Verify that storage write speeds can sustain 4K 10-bit bitrates without dropping frames.
  • Set your manual shutter speed to maintain proper frame intervals without choking sensor readout.
  • Check middle gray and skin tones using a calibrated waveform or false colour overlay.
  • Confirm that your editing project is configured for wide-gamut HDR before importing footage.

Frequently Asked Questions About 10-Bit HEVC Main 10 Android Recording

Is 10-bit HEVC Main 10 the same as HDR?

No. HEVC Main 10 is a video compression profile that specifies 10 bits of precision per sample, whereas High Dynamic Range (HDR) describes an expanded range of brightness and contrast paired with a wider colour space. While HDR formats like HLG and HDR10 rely on 10-bit profiles to prevent banding across wide dynamic ranges, you can also encode standard dynamic range (Rec. 709) footage using Main 10 simply to increase grading precision.

Does 10-bit recording give my Android phone more dynamic range?

No, 10-bit recording does not expand the physical dynamic range of the camera sensor. The maximum contrast range between the deepest shadows and brightest highlights is determined entirely by the sensor's photosite capacity and analog signal path. The 10-bit encoding format simply records that dynamic range across 1,024 quantization steps instead of 256, significantly reducing digital banding and macroblocking during post-production colour grading.

Can Final Cut Pro open 10-bit HEVC Main 10 files from an Android phone without transcoding?

Yes, provided the file is packaged correctly. 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. If an Android capture app outputs an HEVC file using an MP4 container with the hev1 FourCC tag, Final Cut Pro may reject the clip or require an intermediate transcode before editing.

What is the difference between Rec. 2020 HLG and a LOG picture profile?

HLG is a display-referred hybrid gamma curve that carries its own contrast profile, allowing it to display reasonably well across compatible monitors without mandatory color transformation. A LOG profile is a scene-referred capture curve that records a very flat, desaturated image designed explicitly to maximize highlight and shadow room prior to an intentional colour grade. PrimeCam records HLG, not LOG. HLG is a display-referred curve that carries its own grade; there is no LOG profile.

Which Android phones can record 10-bit HEVC Main 10 video?

A device must run Android 13 or later and feature a camera hardware pipeline capable of exposing 10-bit HLG capture through the modern Camera2 API. The developer reports testing on Pixel 11, Pixel 10 Pro and Pixel 10, plus a Samsung phone on 15 September 2026 whose model has not been recorded. Earlier documented field testing also covers Pixel 10 Pro XL and Pixel 6a. These reports do not establish support for all Samsung phones or every recording mode; capabilities vary by device. Developer testing on 15 September 2026 found that Pixel 9a does not support 10-bit recording in PrimeCam; it is not a supported device for the current 10-bit HLG recording mode. It requires Android 13 or later and a camera that can record 4K in 10-bit HLG.

Conclusion: Capture the Precision, Then Decide What to Do With It

Adopting a 10-bit HEVC Main 10 capture pipeline shifts mobile video creation from casual documentation to genuine digital cinematography. Expanding tonal mapping to 1,024 discrete code values per channel provides the essential grading headroom required to hold complex sky gradients, neon lighting, and high-contrast scenes together in post-production. With modern Android hardware pairing real-time 10-bit compression with wide-gamut BT.2020 HLG color spaces, mobile cameras can finally produce footage that drops seamlessly into professional desktop workflows.

If you want to see what 10-bit HEVC Main 10 and Rec. 2020 HLG look like straight out of an Android camera, open a clip in Final Cut Pro with no transcode step and judge the gradients for yourself. PrimeCam 0.1.0 is available on the Google Play production track. It is still an early release, not a guarantee of readiness for irreplaceable footage.

10-bit HEVCHEVC Main 10Rec 2020 HLGAndroid cinematographyFinal Cut ProHDR videomobile video production