[x264-devel] Thresholds about slicetype_decide

kenter kenter83 at gmail.com
Wed May 19 09:06:25 CEST 2010


The process of my hack as below:
    1. Interp. half-pel values of origin image(at the same time of
x264_frame_init_lowres)
    2. Analyse each MB(Set QP=24) and sum-up cost(16x16ME instead of
8x8; Intra analyse also modified as Intra16x16 prediction), the
returned value is divided by 4.
    3. slicetype_decision & cost comparison between references are the
same as before.

The data array to store lowres costs also modified as uint32_t to
assure it'll NOT overflow.

2010/5/19, kenter <kenter83 at gmail.com>:
> yes, the Intra prediction have been modified as 16x16 in
> slicetype_decide, and the returned i_cost of slicetype_decide is also
> divided by 4(I assume that SATD(16) = 4*SATD(8))
>
> 2010/5/19, Jason Garrett-Glaser <darkshikari at gmail.com>:
>> On Tue, May 18, 2010 at 10:05 PM, kenter <kenter83 at gmail.com> wrote:
>>> Thanks for Jason, I'm sorry that I forget to mention my modifications
>>> are based on x264-snapshot-20090302-2245 for historical reasons, the
>>> mb-tree and lookahead feature are not available.
>>> I modulate the parameters based on your suggestions:
>>> 1. Set QP=24 in x264_lowres_context_init()
>>> 2. Change the data array type of *i_intra_cost from uint16_t to
>>> uint32_t in x264_frame_t (It seems the lowres_cost and lowres_type are
>>> not exist in my version)
>>>
>>> However, the result shows the PSNR also drops 0.5dB compares to that
>>> of 8x8 slicetype_decide(from 34.84 to 34.35dB), can you point me other
>>> values that I need to modify?
>>
>> You'll need to redesign intra analysis in lookahead if you want to use
>> 16x16 blocks; currently it assumes 8x8 and uses 8x8 intra prediction
>> accordingly.
>>
>> Dark Shikari
>> _______________________________________________
>> x264-devel mailing list
>> x264-devel at videolan.org
>> http://mailman.videolan.org/listinfo/x264-devel
>>
>


More information about the x264-devel mailing list