Reputation: 137
I am currently studying to support 4K(3840x2160) on H.264 Encoder. When I studied the specs of H.264, it says 4K resolution is supported in Level-5.2(XAVC). In order to check the implementation I encoded my full HD(1920x1080)bitstream using x264 in FFMPEG for three different levels(Level-4,4.1 and 5.2).
Here is what I noticed - All the three Encoded bitstreams, encoded for different levels matched pixel by pixel. - I was wondering if the encoding is done for different levels(Level-4,4.1 and 5.2), how come there is no change in bitstream.
I have a solution of high 422 Level-4.1, are there any changes in the core modules like Transformation, Quantazition, CAVLC to support 4K(3840 x 2160)/XAVC.
or the processing of all Level-5.2 is same as Level-4.1.
It would be very helpful, if somebody can refer me to any documents which explains the diffrence in processing of H.264/AVC and XAVC
Upvotes: 3
Views: 1594
Reputation: 31120
The level is simply a method to inform the encoder/decoder how many macroblocks per second it will need to process. It does not change the compression at all. If you tell the encoder to encode at level 5.2 then give it 1080p content, it can produce a file UP TO 121.4 frames per second. 983,040 / ((1920 × 1080) / (16 × 16))
. And 4k up to 30.34 fps 983,040 / ((3840x2160) / (16 × 16))
level 4.1 is 245,760 macroblocks per second. hence 1080p up to 30.34 fps, and 4k up to 7.5 fps.
Upvotes: 6