Apple ProRes: Difference between revisions
Jump to navigation
Jump to search
Line 22: | Line 22: | ||
[[Category:Undiscovered Video Codecs]] | [[Category:Undiscovered Video Codecs]] | ||
= Technical documentation on ProRes 422 Standard Definition / High Quality codec = | |||
ProRes 422 SD/HQ is the same codec operating on two different bitrates (flavours). Two different FOURCCs are used in order to indicate each flavour: | ProRes 422 SD/HQ is the same codec operating on two different bitrates (flavours). Two different FOURCCs are used in order to indicate each flavour: | ||
Line 47: | Line 47: | ||
* spatial scalability providing the possibility to decode a video at different partial resolutions (1/2, 1/4, 1/8 of the full size and so on). ProRes is capable of saving CPU cycles while decoding at smaller resolutions due to a special bitstream layout enabling partial bitstream access and parsing. | * spatial scalability providing the possibility to decode a video at different partial resolutions (1/2, 1/4, 1/8 of the full size and so on). ProRes is capable of saving CPU cycles while decoding at smaller resolutions due to a special bitstream layout enabling partial bitstream access and parsing. | ||
== Frame layout == | |||
A typical ProRes 422 frame has the following layout: | A typical ProRes 422 frame has the following layout: |
Revision as of 15:25, 30 September 2010
- FourCCs used to indicate different ProRes flavours in the QuickTime container:
- Apple ProRes 422 High Quality: 'apch' ('hcpa' in little-endian)
- Apple ProRes 422 Standard Definition: 'apcn' ('ncpa' in little-endian)
- Apple ProRes 422 LT: 'apcs' ('scpa' in little-endian)
- Apple ProRes 422 Proxy: 'apco' ('ocpa' in little-endian)
- Apple ProRes 4444: 'ap4h' ('h4pa' in little-endian)
- Company: Apple
- Whitepaper: http://images.apple.com/finalcutstudio/resources/white_papers/L342568A_ProRes_WP.pdf
- New Whitepaper introducing ProRes LT/Proxy/4444: http://images.apple.com/finalcutstudio/docs/Apple_ProRes_White_Paper_July_2009.pdf
- Samples: http://samples.mplayerhq.hu/V-codecs/HCPA/
ProRes Introduction
Apple ProRes is a family of video codecs used for storing and editing high definition video data in Apple's Final Cut Pro. Apple's official whitepaper lists the codec's key features as being:
- intra-only codecs
- 4:2:2 / 4:4:4:4 source material
- 10-bit (12-bit for ProRes 4444) sample depth
- variable bitrate
Technical documentation on ProRes 422 Standard Definition / High Quality codec
ProRes 422 SD/HQ is the same codec operating on two different bitrates (flavours). Two different FOURCCs are used in order to indicate each flavour:
Flavour name | FOURCC | Bitrate |
---|---|---|
Standard Definition (SD) | 'apcn' | 145 Mbps |
High Quality (HQ) | 'apch' | 220 Mbps |
ProRes algorithm is based on the Discrete cosine transform (further DCT) and utilizes the following compression techniques:
- custom hybrid Golomb-Rice / Exponential Golomb coding for DCT coefficients
- run-lenght coding
- differential coding
- scalar quantization
The bitstream of the ProRes 422 has been designed to provide the following additional features:
- frame-level multi-threaded encoding/decoding depending on available CPU cores
- spatial scalability providing the possibility to decode a video at different partial resolutions (1/2, 1/4, 1/8 of the full size and so on). ProRes is capable of saving CPU cycles while decoding at smaller resolutions due to a special bitstream layout enabling partial bitstream access and parsing.
Frame layout
A typical ProRes 422 frame has the following layout:
Frame container atom ------------------------------------ Frame header ------------------------------------ Picture 1 ------------------------------------ Picture 2 (interlaced frames only)