Answers.Body: <p><code>H.264/AVC</code> is <em>not</em> limited for 4K in terms of max resolution as it supports  <code>DCI 4K</code> (4092x2160) @ 60 fps at Level 5.2.  For example Sony already uses <a href="https://en.wikipedia.org/wiki/XAVC" rel="noreferrer">XAVC</a> which is exactly 4K AVC.</p>
  
  <p>For a while the max level was 5.1 and 5.2 was introduced later. If needed new levels can be introduced as long there's the hardware to support it.</p>
  
  <p>For eg. the Nvidia NVEC supports H.264 up to 4096x4096: <a href="https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVENC_AppNote.pdf" rel="noreferrer">https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVENC_AppNote.pdf</a></p>
  
  <p>The actual problem with 4K are the bandwidth requirements for <em>streaming</em>, not the hardware support. To do 4K streaming at 12-15 Mbps the encoder needs a <a href="http://blog.streamingmedia.com/2015/01/4k-streaming-bandwidth-problem.html" rel="noreferrer">40% efficiency increase</a>. </p>
  
  <p>The problem with <code>H.264</code> is that it's not efficient enough for this purpose. This is what the new <a href="https://fr.wikipedia.org/wiki/H.265/HEVC" rel="noreferrer">H.265/HEVC</a> (<strong>High Efficiency Video Coding</strong>) tries to achieve. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T10:39:34.207Z
Answers.Text: The resolution you state is lower than the resolution I stated as max. possible under level 5.2. The issue of coding efficiency is germane to viability of H264 as a choice for 4K stream given a bandwidth constraint, not to why an encoder doesn't output higher-res.
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T12:43:24.203Z
Answers.Text: The max resolution is not supported at 60 fps on 5.2 and 60 fps is also becoming a requirement. There's no reason why AVC won't work with higher resolutions and it could be used for say, storage. In fact AVC is way faster than HEVC.
Answers.UserDisplayName: aergistal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T13:21:17.213Z
Answers.Text: I'll post all further comments here. The OP's query is why is encoding "limited". Presumably, this was provoked by an empirical observation. So, the question isn't whether there are theoretical considerations in the spec which prevent 8K H.264 streams, but why don't encoders output greater sizes. Now, the level is just a metadatum and players may ignore it but non-turnkey commercial and FOSS encoders probably try to generate compliant streams, and at present, the spec doesn't allow for it.
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T14:05:16.133Z
Answers.Text: The OP asked for technical reasons. The level is conformance, not strictly a technical issue with the underlying codec. Coding efficiency is a technical reason.
Answers.UserDisplayName: aergistal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T14:25:11.893Z
Answers.Text: But the reason doesn't seem to be functional but legal. This is the reason proffered by the Adobe liaison at https://forums.creativecow.net/thread/2/1046747 - "Adobe Media Encoder is enforcing the limits on H.264 video that are imposed by the MPEG-4 specification."
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T14:38:38.490Z
Answers.Text: That's exactly what I was trying to point out: there's no technical limit, just a conformance limit subject to change.
Answers.UserDisplayName: aergistal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T14:53:07.460Z
Answers.Text: That use of 'technical' is obviously a generic use on the part of the OP. If they meant to differentiate between algorithmic vs bureaucratic reasons, that would show up in the Q. In fact, since my answer doesn't convey a technical (in your sense) reason and yet was accepted by the OP shows that they didn't have your distinction of 'technical' in mind.
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T15:09:29.873Z
Answers.Text: Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/29978/discussion-between-aergistal-and-mulvya).
Answers.UserDisplayName: aergistal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T10:24:11.573Z
Answers.LastActivityDate: 2015-10-07T13:17:19.030Z
Answers.LastEditDate: 2015-10-07T13:17:19.030Z
Answers.UserDisplayName: aergistal
Answers.Body: <p>One of the bits of information associated with a H264 stream is its <a href="https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels">level</a>. The level informs the decoder the computational resources needed for a successful decode. Turns out that the highest level 5.2 supports upto 9437184 luma samples per frame, which is the number of luma samples needed for a frame of size 4096x2304. So, there may be encoders that can (be forced to) encode higher resolutions but there's no valid level which can be set for the stream, and probably no decoder that can be guaranteed to produce reliable playback.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T10:31:34.430Z
Answers.Text: This is not the issue. New levels can be added (5.2 was added in the ITU-T recommendation in 2011-2012).  The issue is the coding efficiency.
Answers.UserDisplayName: aergistal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T10:35:50.777Z
Answers.Text: Of course, new levels can be added. But encoders already out there don't go past the spec at the time of their production. So, what level do you expect an encoder compiled today to set if fed, say, 8K input?
Answers.UserDisplayName: Gyan
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T12:19:34.080Z
Answers.Text: The level is just a flag. Some decoders ignore it completely.
Answers.UserDisplayName: aergistal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-07T13:10:12.543Z
Answers.Text: Here's one real life example why your answer is incomplete: Nvidia NVEC supports H.264 at up to 4096x4096, which falls outside 5.2 https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVENC_AppNote.pdf
Answers.UserDisplayName: aergistal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-10-03T13:01:47.413Z
Answers.LastActivityDate: 2015-10-03T13:01:47.413Z
Answers.UserDisplayName: Gyan
Body: <p>I was trying to find the technical reasons for why H.264 is limited for 4K.
  Obviously that in terms of bit-rate it becomes less efficient but the encoding itself is limited and for some reason, I couldn't find any publicly available references.</p>
  <p>Someone?</p>
  
Tags: <h.264><4k>
Title: H.264 Max Resolution
UserDisplayName: Lior Ohana
ThreadText: # H.264 Max Resolution
  
  (Asked by: username_0 on 2015-10-03)
  
  I was trying to find the technical reasons for why H.264 is limited for 4K.
  Obviously that in terms of bit-rate it becomes less efficient but the encoding itself is limited and for some reason, I couldn't find any publicly available references.
  
  Someone?
  
  **Tags:** h.264, 4k
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2015-10-03. Score: 9 | Accepted answer
  
  One of the bits of information associated with a H264 stream is its [level](https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels). The level informs the decoder the computational resources needed for a successful decode. Turns out that the highest level 5.2 supports upto 9437184 luma samples per frame, which is the number of luma samples needed for a frame of size 4096x2304. So, there may be encoders that can (be forced to) encode higher resolutions but there's no valid level which can be set for the stream, and probably no decoder that can be guaranteed to produce reliable playback.
  
  > **Comments:**
  > **username_1**: This is not the issue. New levels can be added (5.2 was added in the ITU-T recommendation in 2011-2012).  The issue is the coding efficiency.  
  > **username_2**: Of course, new levels can be added. But encoders already out there don't go past the spec at the time of their production. So, what level do you expect an encoder compiled today to set if fed, say, 8K input?  
  > **username_1**: The level is just a flag. Some decoders ignore it completely.  
  > **username_1**: Here's one real life example why your answer is incomplete: Nvidia NVEC supports H.264 at up to 4096x4096, which falls outside 5.2 https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVENC_AppNote.pdf  
  
  ---
  
  ### Answer by username_1 on 2015-10-07. Score: 9
  
  `H.264/AVC` is *not* limited for 4K in terms of max resolution as it supports `DCI 4K` (4092x2160) @ 60 fps at Level 5.2. For example Sony already uses [XAVC](https://en.wikipedia.org/wiki/XAVC) which is exactly 4K AVC.
  
  For a while the max level was 5.1 and 5.2 was introduced later. If needed new levels can be introduced as long there's the hardware to support it.
  
  For eg. the Nvidia NVEC supports H.264 up to 4096x4096: <https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVENC_AppNote.pdf>
  
  The actual problem with 4K are the bandwidth requirements for *streaming*, not the hardware support. To do 4K streaming at 12-15 Mbps the encoder needs a [40% efficiency increase](http://blog.streamingmedia.com/2015/01/4k-streaming-bandwidth-problem.html).
  
  The problem with `H.264` is that it's not efficient enough for this purpose. This is what the new [H.265/HEVC](https://fr.wikipedia.org/wiki/H.265/HEVC) (**High Efficiency Video Coding**) tries to achieve.
  
  > **Comments:**
  > **username_2**: The resolution you state is lower than the resolution I stated as max. possible under level 5.2. The issue of coding efficiency is germane to viability of H264 as a choice for 4K stream given a bandwidth constraint, not to why an encoder doesn't output higher-res.  
  > **username_1**: The max resolution is not supported at 60 fps on 5.2 and 60 fps is also becoming a requirement. There's no reason why AVC won't work with higher resolutions and it could be used for say, storage. In fact AVC is way faster than HEVC.  
  > **username_2**: I'll post all further comments here. The OP's query is why is encoding "limited". Presumably, this was provoked by an empirical observation. So, the question isn't whether there are theoretical considerations in the spec which prevent 8K H.264 streams, but why don't encoders output greater sizes. Now, the level is just a metadatum and players may ignore it but non-turnkey commercial and FOSS encoders probably try to generate compliant streams, and at present, the spec doesn't allow for it.  
  > **username_1**: The OP asked for technical reasons. The level is conformance, not strictly a technical issue with the underlying codec. Coding efficiency is a technical reason.  
  > **username_2**: But the reason doesn't seem to be functional but legal. This is the reason proffered by the Adobe liaison at https://forums.creativecow.net/thread/2/1046747 - "Adobe Media Encoder is enforcing the limits on H.264 video that are imposed by the MPEG-4 specification."  
  > **username_1**: That's exactly what I was trying to point out: there's no technical limit, just a conformance limit subject to change.  
  > **username_2**: That use of 'technical' is obviously a generic use on the part of the OP. If they meant to differentiate between algorithmic vs bureaucratic reasons, that would show up in the Q. In fact, since my answer doesn't convey a technical (in your sense) reason and yet was accepted by the OP shows that they didn't have your distinction of 'technical' in mind.  
  > **username_1**: Let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/29978/discussion-between-username_1-and-mulvya).  
  
  ---
  
  