[x264-devel] commit: Add optional more optimal B-frame decision method ( Jason Garrett-Glaser )

git version control git at videolan.org
Mon Sep 15 06:24:18 CEST 2008


x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Sun Sep 14 18:18:15 2008 -0700| [9818865c1f5eccbc04fb51f062cb1b3abff02db0] | committer: Jason Garrett-Glaser 

Add optional more optimal B-frame decision method
This method (--b-adapt 2) uses a Viterbi algorithm somewhat similar to that used in trellis quantization.
Note that it is not fully optimized and is very slow with large --bframes values.
It also takes into account weightb, which should improve fade detection.
Additionally, changes were made to cache lowres intra results for each frame to avoid recalculating them.  This should improve performance in both B-frame decision methods.
This can also be done for motion vectors, which will dramatically improve b-adapt 2 performance when it is complete.
This patch also reads b_adapt and scenecut settings from the first pass so that the x264 header information in the output file will have correct information (since frametype decision is only done on the first pass).

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=9818865c1f5eccbc04fb51f062cb1b3abff02db0
---

 common/common.c       |   13 ++-
 common/common.h       |    6 +-
 common/frame.c        |    2 +
 common/frame.h        |    2 +
 encoder/encoder.c     |   12 ++-
 encoder/ratecontrol.c |   26 +++++-
 encoder/slicetype.c   |  248 +++++++++++++++++++++++++++++++++++--------------
 gtk/x264_gtk.c        |    6 +-
 x264.c                |    9 ++-
 x264.h                |    7 +-
 10 files changed, 244 insertions(+), 87 deletions(-)

Diff:   http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=9818865c1f5eccbc04fb51f062cb1b3abff02db0


More information about the x264-devel mailing list