[x264-devel] Re: bit allocation algorithms among frames

Loren Merritt lorenm at u.washington.edu
Sun Jul 23 21:26:39 CEST 2006


On Mon, 17 Jul 2006, Loren Merritt wrote:

> http://students.washington.edu/lorenm/src/x264/x264_sdrc.0.pl
> is an implementation of the first paper, except even more brute-force: I 
> didn't want to deal with a deep copy of the encoder state, so I just encode 
> the whole movie for each candidate.
>
> http://students.washington.edu/lorenm/src/x264/x264_rdrc.1.diff
> uses lagrange optimization with a sliding window.

Oops, that patch trashes the DPB, causing the encoder to use reference 
frames that aren't available to the decoder. Here's the results with valid 
output streams:
http://students.washington.edu/lorenm/src/x264/x264_rdrc.2.diff

CMD="x264 tennis_352x240.yuv --frames 150 --scenecut -1 -m3 -b1 -8"
PSNR:35.290 kb/s:535.16 time:1.52    # $CMD -p1 --crf 25
PSNR:35.231 kb/s:501.14 time:1.33    # $CMD -p2 -B496
PSNR:35.142 kb/s:505.66 time:6.80    # $CMD -p2 --rdrc-range 2 --rdrc-lambda 470
PSNR:35.300 kb/s:502.45 time:10.19   # $CMD -p2 --rdrc-range 4 --rdrc-lambda 589
PSNR:35.512 kb/s:495.82 time:18.99   # $CMD -p2 --rdrc-range 8 --rdrc-lambda 735
PSNR:35.689 kb/s:503.87 time:36.10   # $CMD -p2 --rdrc-range 16 --rdrc-lambda 829
PSNR:35.765 kb/s:500.55 time:69.19   # $CMD -p3 --rdrc-range 32 --rdrc-lambda 898
PSNR:35.792 kb/s:500.71 time:60.05   # $CMD -p3 --rdrc-range 32 --rdrc-lambda 760
PSNR:35.754 kb/s:500.95 time:1634.69 # x264_grc.00.pl -B 500 -x "${CMD/x264 } --ipratio 1"

I don't know either why sdrc gets worse with higher initial quants, nor 
why the local search ended up better yet.

--Loren Merritt

-- 
This is the x264-devel mailing-list
To unsubscribe, go to: http://developers.videolan.org/lists.html



More information about the x264-devel mailing list