[x264-devel] Description of Macroblock types in file 'macroblock.h'

Fabrice DELANNAY Fabrice.Delannay at univ-nantes.fr
Thu Oct 18 14:18:27 CEST 2007


I hope this question is not inappropriate to be posted in the mailing
list, but I have some problem to anderstand the definition of the
macroblock modes in the file macroblock.h.

I know only the following issues for a macroblock with type B:

1- keep one reference frame in List0
2- keep one reference frame in List1
3- keep two reference frames in List0
4- keep two reference frames in List1
5- keep two reference frames, one in List0 & one in List1

So I imagine that in the x264 code:
mb.i_type = B_L0_L0 stands for for case 3,
mb.i_type = B_L1_L1 stands for for case 4,
mb.i_type = B_L0_L1 or mb.i_type = B_L1_L0 stands for for case 5,

but thus I can't anderstand what does B_L0_BI,B_L1_BI,...,B_BI_BI stand for??

And what's happen in case of only one reference from List1 used for a
B-block?? I can't use a simple P-block, because sometimes i want make sure
that the current frame use a future frame as reference, and the list0 can
only load past reference.

Any explanation would be greatly appreciated. Thank you.




More information about the x264-devel mailing list