CodeBlocks

Monday 1 April 2013

X264 - ADM and Ab Frames- Comparison


x264 - ADM and Ab Frames - Comparison

Most of the next series of X264 related posts will be a lot lighter and smaller so I'm going to cover more settings. The settings I'll cover in thos post will be Adaptive Direct Mode(ADM) and Adaptive b-Frames(Ab-Frames)

Adaptive Direct Mode 
Also known as direct in the x264 settings, with 3 potential settings:
  1. None - Disabled direct motion vectors
  2. Spatial(default)
  3. Temporal
  4. Auto - x264 will swap between Spatial and Temporal.

Adaptive b-Frames 
Also known as b-adapt, this determine the placement of b-Frames and controls how x264 decides between adding a b-Frame of a P-frame. Since b-Frames are the most compressed out of all the frames having more b-frames should increase compression without having a image quality impact. b-adpt has 3 values to choose from and also uses the max bFrames setting to determine max consecutive beframes.
  1. Off/Disabled - Will always force the max number of consecutive bFrames after any p frame, not recommended with high consecutive b-frames as it will lead to some interesting stutter within the frame
  2. Fast - Fast attempt to determine bFrames and the quality and performance is not affective by the max number of consecutive bFrames.
  3. Optimal -  A slower but more accurate method, but performance will go down depending on the max number of consecutive bFrames. 

Since these don't really effect the quality of the video there is no reason to have any still frames.

Futurama  

Adaptive Direct Mode

So lets dive into it, these to graphs represents the file-size and performance of each method.


Filesize in KB
Performance FPS


Here we can see that auto performs almost identical to spatial suggesting that x264 uses spatial more often than temporal when left on auto, but since x264 has to do extra computations to determine which is better spatial out performs in performance. Interestingly none is the slowest of all the settings and the largest.

The next graph will show the relative differences in percentage between the settings when compared to spatial(default).

Percentage diff

As you can see none is 10.5% slower and yet 1.5% larger.
Temporal is 0.38 larger and 0.64 slower
Auto is 0.01 smaller but 1.13% slower

So during SD anime spatial is the best compression/performance wise
Note that it is said that auto is better suited for 2pass encodings.


Adaptive b-Frames

Filesize in KB

Performance FPS

Since bFrames are extremely small forcing bFrames at all time will lead to a smaller file size just like off does(max bFrames is 3), and since no additional decisions are made it is also faster, but not as fast as Fast. And with optimal having smaller filesize than fast.

 The next graph will show the relative differences in percentage between the settings when compared to Fast(default).

Percentage Diff



The first thing to note it that all of them are slower than Fast, however all of them have better compression than Fast. With optimal having a very good compression/performance ratio, with about 6% compression but only 4.3% slower.



ReelSteel SD
Adaptive Direct Mode
Well lets see how things change with Live Action Video.


Filesize in KB


Performance FPS

Percentage Diff

Interestingly optimal is only 0.47% slower but has 4.75% more compression


ReelSteel HD
Adaptive Direct Mode
Although I don't think HD video will have much of an impact on the data, I'm curious to see if the trend continues where Spatial and Optimal are very good.

Filesize in KB
 
Performance FPS


Percentage Diff


 Again nothing special Spatial performs exceptional well against the other settings

Although I don't think HD video will have much of an impact on the data, I'm curious to see if the trend continues where Spatial and Optimal are very good.
 Adaptive Direct Mode 
 I assume there won't be  much of a difference between HD and SD


Filesize in KB
Perormance FPS
Percentage Diff

 And the only diffirence is that Off is faster by 2% with about the same compression, and optimal is slower by 4.4% than in SD. Other than that it the same.

Conclusion
Well as there isn't that much to say other than spatial consistently had the best compression/performance ratio in Adaptive Direct mode. And Optimal had better compression than fast with a minimal to negligible performance impact.

Recommended
Adaptive Direct Mode: Spatial. is the best setting.

Adaptive b-Frames: Optimal - In my opinion the small performance hit is well worth compression gained, for now at least. We should see how they perform with varying max consecutive bFrames, which we will look into next time.

 Navigation
  1. Introduction
  2. Presets
  3. Subme  
  4. Motion estimation method 
  5. ADM and b-adapt.

No comments:

Post a Comment