[x264-devel] compile error

赵宇龙 zhaoyulong at 360.cn
Tue Mar 31 13:25:01 CEST 2015


Hi,

down load the x264 source code and found the following issule.

1.  in cabac.c defined function:

void x264_macroblock_write_cabac( x264_t *h, x264_cabac_t *cb )
{
    if( CHROMA444 )
        x264_macroblock_write_cabac_internal( h, cb, 3, 0 );
    else
        x264_macroblock_write_cabac_internal( h, cb, 1, 1 );
}

while, in rdo.c, an macro defined for it
#define x264_macroblock_write_cabac  static x264_macroblock_size_cabac

this make the symbol’s name to be x264_macroblock_size_cabac as a static function
however, there still declaration for x264_macroblock_write_cabac and in the decoder.c, there are calls for it, that makes a link break.

I don’t know whether function above is the desired one, but there is no the other x264_macroblock_write_cabac

2.  x264_cabac_mb_skip defined as following

#if !RDO_SKIP_BS
void x264_cabac_mb_skip( x264_t *h, int b_skip )
{
    int ctx = h->mb.cache.i_neighbour_skip + 11;
    if( h->sh.i_type != SLICE_TYPE_P )
       ctx += 13;
    x264_cabac_encode_decision( &h->cabac, ctx, b_skip );
}
#endif

however, the encoder calls x264_cabac_mb_skip directly without any micro checking.
and, the RDO_SKIP_BS is defined as 1
which make x264_cabac_mb_skip disappeared.

So, what is the correct action, should the x264_cabac_mb_skip not been called there or should I change !RDO_SKIP_BS to RDO_SKIP_BS?


regards,
zhao yulong

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20150331/428646b2/attachment.html>


More information about the x264-devel mailing list