User Tools

Site Tools


tutorial:h264

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorial:h264 [2010/04/11 08:15]
j.m Imported the first table
tutorial:h264 [2010/04/16 18:40]
j.m removed
Line 369: Line 369:
 |Predictive Lossless Coding ​         |NO        |NO        |NO    |NO    |NO       ​|NO ​         |YES                    | |Predictive Lossless Coding ​         |NO        |NO        |NO    |NO    |NO       ​|NO ​         |YES                    |
 ^                                    ^Baseline ​ ^Extended ​ ^Main  ^High  ^High 10  ^High 4:2:2  ^High 4:4:4 Predictive ​ ^ ^                                    ^Baseline ​ ^Extended ​ ^Main  ^High  ^High 10  ^High 4:2:2  ^High 4:4:4 Predictive ​ ^
 +
 +From Wikipedia, the free encyclopedia
 +
 +==== List of all H.264/AVC Levels ====
 +
 +^Level number ^Max macroblocks per second ^Max frame size (macroblocks) ^Max video bit rate (VCL) for Baseline, Extended and Main Profiles ^Max video bit rate (VCL) for High Profile ^Max video bit rate (VCL) for High 10 Profile ^Max video bit rate (VCL) for High 4:2:2 and High 4:4:4 Predictive Profiles ^Examples for high resolution @ frame rate (max stored frames) in Level ^
 +|1 |1485 |99 |64(nbsp)kbit/​s |80(nbsp)kbit/​s |192(nbsp)kbit/​s |256(nbsp)kbit/​s |128x96@30.9(nbsp)(8) 176x144@15.0(nbsp)(4) |
 +|1b |1485 |99 |128(nbsp)kbit/​s |160(nbsp)kbit/​s |384(nbsp)kbit/​s |512(nbsp)kbit/​s |128x96@30.9(nbsp)(8) 176x144@15.0(nbsp)(4) |
 +|1.1 |3000 |396 |192(nbsp)kbit/​s |240(nbsp)kbit/​s |576(nbsp)kbit/​s |768(nbsp)kbit/​s |176x144@30.3(nbsp)(9) 320x240@10.0(nbsp)(3) 352x288@7.5(nbsp)(2) |
 +|1.2 |6000 |396 |384(nbsp)kbit/​s |480(nbsp)kbit/​s |1152(nbsp)kbit/​s |1536(nbsp)kbit/​s |320x240@20.0(nbsp)(7) 352x288@15.2(nbsp)(6) |
 +|1.3 |11880 |396 |768(nbsp)kbit/​s |960(nbsp)kbit/​s |2304(nbsp)kbit/​s |3072(nbsp)kbit/​s |320x240@36.0(nbsp)(7) 352x288@30.0(nbsp)(6) |
 +|2 |11880 |396 |2(nbsp)Mbit/​s |2.5(nbsp)Mbit/​s |6(nbsp)Mbit/​s |8(nbsp)Mbit/​s |320x240@36.0(nbsp)(7) 352x288@30.0(nbsp)(6) |
 +|2.1 |19800 |792 |4(nbsp)Mbit/​s |5(nbsp)Mbit/​s |12(nbsp)Mbit/​s |16(nbsp)Mbit/​s |352x480@30.0(nbsp)(7) 352x576@25.0(nbsp)(6) |
 +|2.2 |20250 |1620 |4(nbsp)Mbit/​s |5(nbsp)Mbit/​s |12(nbsp)Mbit/​s |16(nbsp)Mbit/​s |352x480@30.7(nbsp)(10) 352x576@25.6(nbsp)(7) 720x480@15.0(nbsp)(6) 720x576@12.5(nbsp)(5)| ​
 +|3 |40500 |1620 |10(nbsp)Mbit/​s |12.5(nbsp)Mbit/​s |30(nbsp)Mbit/​s |40(nbsp)Mbit/​s |352x480@61.4(nbsp)(12) 352x576@51.1(nbsp)(10) 720x480@30.0(nbsp)(6) 720x576@25.0(nbsp)(5) |
 +|3.1 |108000 |3600 |14(nbsp)Mbit/​s |14(nbsp)Mbit/​s |42(nbsp)Mbit/​s |56(nbsp)Mbit/​s |720x480@80.0(nbsp)(13) 720x576@66.7(nbsp)(11) 1280x720@30.0(nbsp)(5) |
 +|3.2 |216000 |5120 |20(nbsp)Mbit/​s |25(nbsp)Mbit/​s |60(nbsp)Mbit/​s |80(nbsp)Mbit/​s |1280x720@60.0(nbsp)(5) 1280x1024@42.2(nbsp)(4) |
 +|4 |245760 |8192 |20(nbsp)Mbit/​s |25(nbsp)Mbit/​s |60(nbsp)Mbit/​s |80(nbsp)Mbit/​s |1280x720@68.3(nbsp)(9) 1920x1080@30.1(nbsp)(4) 2048x1024@30.0(nbsp)(4) |
 +|4.1 |245760 |8192 |50(nbsp)Mbit/​s |62.5(nbsp)Mbit/​s |150(nbsp)Mbit/​s |200(nbsp)Mbit/​s |1280x720@68.3(nbsp)(9) 1920x1080@30.1(nbsp)(4) 2048x1024@30.0(nbsp)(4) |
 +|4.2 |522240 |8704 |50(nbsp)Mbit/​s |62.5(nbsp)Mbit/​s |150(nbsp)Mbit/​s |200(nbsp)Mbit/​s |1920x1080@64.0(nbsp)(4) 2048x1080@60.0(nbsp)(4) |
 +|5 |589824 |22080 |135(nbsp)Mbit/​s |168.75(nbsp)Mbit/​s |405(nbsp)Mbit/​s |540(nbsp)Mbit/​s |1920x1080@72.3 (13) 2048x1024@72.0 (13) 2048x1080@67.8 (12) 2560x1920@30.7 (5) 3680x1536@26.7(nbsp)(5) |
 +|5.1 |983040 |36864 |240(nbsp)Mbit/​s |300(nbsp)Mbit/​s |720(nbsp)Mbit/​s |960(nbsp)Mbit/​s |1920x1080@120.5 (16) 4096x2048@30.0 (5) 4096x2304@26.7 (5) |
 +^Level number ^Max macroblocks per second ^Max frame size (macroblocks) ^Max video bit rate (VCL) for Baseline, Extended and Main Profiles ^Max video bit rate (VCL) for High Profile ^Max video bit rate (VCL) for High 10 Profile ^Max video bit rate (VCL) for High 4:2:2 and High 4:4:4 Predictive Profiles ^Examples for high resolution @ frame rate (max stored frames) in Level ^
 +
 +From Wikipedia, the free encyclopedia
 +
 +For more detailed information,​ please refer to "Annex A" in the official ITU-T H.264 specifications!
 +
 +===== GPU support =====
 +
 +Since [[http://​de.wikipedia.org/​wiki/​GPGPU|GPGPU]] has become a hot topic, people began asking for GPU support in Avidemux. These people need to understand that Avidemux cannot offer GPU support for H.264 encoding, until GPU support is implemented in the //x264// library. There is a project scheduled to add [[http://​de.wikipedia.org/​wiki/​CUDA|CUDA]] support to x264 (see [[http://​wiki.videolan.org/​SoC_x264_2009#​GPU_Motion_Estimation]]),​ but there are no results yet (May 2009). We know that there are //​commercial//​ H.264 encoders with GPU support available already. But if you look at these encoders closely, you will notice that their speed-up claims are marketing blabber. These encoders may be fast, but their quality isn't anywhere near x264's quality! Also note that marketing people tend to compare their encoders to the completely unoptimized //H.264 Reference Encoder//. x264 is faster than the reference encoder by several orders of magnitude, which renders these speed comparisons meaningless. x264 can run extremely fast on a CPU and scales up to at least 16 cores. So don't believe everything that marketing people claim!
 +
 +===== IDR-frames =====
 +
 +IDR frames are: An IDR frame is what has been traditionally known as an I frame. An IDR frame, just like an I frame in MPEG-1/2 and MPEG-4 ASP, starts with a clean slate, and all subsequent frames will make reference to the IDR frame and subsequent frames. Non IDR I frames should be rare, but since they cannot be ruled out, enforcing a minimal IDR interval can help improve compression in some high motion scenes. In H.264/AVC you can also have I frames inside a GOP, which are not seekable, since the long time references introduced in H.264/AVC could result in a P frame after the I frame to reference a P frame before the I frame. ​
 +
 +Max IDR-keyframe interval indicates the maximum distance between two IDR frames. Similarly, Min IDR-keyframe interval indicates the minimum distance between two IDR frames. ​
 +
 +===== List of References =====
 +
 +  * [[http://​www.neuron2.net/​library/​avc/​T-REC-H%5b1%5d.264-200711-I!!PDF-E.pdf|Official ITU-T H.264 Specifications]] - provided by Neuron2
 +  * [[http://​akuvian.org/​src/​x264/​overview_x264_v8_5.pdf|x264 - A high performance H.264/AVC encoder]] - by Loren Merritt and Rahul Vanam
 +  * [[http://​forum.doom9.org/​forumdisplay.php?​f=77|H.264/​AVC Thread on Doom9'​s Forum]] - especially posts by //​akupenguin//,​ //Dark Shikari// and //*.mp4 guy//
 +  * [[http://​git.videolan.org/​gitweb.cgi?​p=x264.git;​a=blob;​f=doc/​ratecontrol.txt|A qualitative overview of x264's ratecontrol methods]] - by Loren Merritt
 +  * [[http://​git.videolan.org/​gitweb.cgi?​p=x264.git;​a=blob;​f=doc/​threads.txt|The x264 multi-threading threading method]] - by Loren Merritt
 +  * [[http://​sites.google.com/​site/​linuxencoding/​x264-ffmpeg-mapping|x264 ffmpeg mapping and options guide]]
 +  * [[http://​en.wikipedia.org/​wiki/​X264|Wikipedia,​ the free encyclopedia]] - article about the "​x264"​ encoder ([[http://​de.wikipedia.org/​wiki/​X264|German version]])
 +  * [[http://​gabextreme.googlepages.com/​x264vfwunited|DeathTheSheep'​s AVC VfW Guide]]
 +  * [[http://​mewiki.project357.com/​wiki/​X264_Settings|MeWiki - x264 settings]]
 +  * [[http://​www.flaskmpeg.info/​board/​thread.php?​threadid=5571|Selur'​s man x264 (Hilfe zum x264 CLI)]] - German documentation
 +  * [[http://​www.digital-digest.com/​articles/​x264_options_page1.html|Digital Digest - x264 Options Explained]]
 +
 +===== See also =====
 +
 +  * [[Compiling H.264]]