[FFmpeg-devel] H264 Decoder Crashing when enabling b-frames

Rakesh Manganellore manganellore.rakesh
Wed Nov 24 07:29:22 CET 2010


We are uisng x264 encoder and ffmpeg h264 decoder as part of our project.
Both x264 encoder and H264 decoder are working properly when we test them
separately (Encoder separately and Decoder Separately)

After integration, The h264 Baseline profile is working fine, Main profile
(Only CABAC enabled) is working fine.
when we enabled B-Frames, code is crashing at below location in "H264.c" in
function mc_dir_part ();

qpix_op[luma_xy](dest_y, src_y, h->mb_linesize); //FIXME try variable height
perhaps?

at this line, the 'src_y' is becoming null. So it is crashing.

When we traced the problem we stuck up at the function
''h264.c->fill_caches(H264Context *h, int mb_type, int for_deblock)'' at
lines

452 : *(uint32_t*)&h->ref_cache[list][scan8[0] + 0 - 1*8]= ((top_type ?
LIST_NOT_USED : PART_NOT_AVAILABLE)&0xFF)*0x01010101;

469 : h->ref_cache[list][cache_idx+8]= left_type[i] ? LIST_NOT_USED :
PART_NOT_AVAILABLE;

483 : h->ref_cache[list][scan8[0] - 1 - 1*8]= topleft_type ? LIST_NOT_USED :
PART_NOT_AVAILABLE;

493 : h->ref_cache[list][scan8[0] + 4 - 1*8]= topright_type ? LIST_NOT_USED
: PART_NOT_AVAILABLE;

At these lines the ref_cache array values becoming either LIST_NOT_USED(-1)
or PART_NOT_AVAILABLE (-2).
So when 'src_y' is taken from 'ref_cache 'array it is getting NULL

Please help me to solve the issue.



More information about the ffmpeg-devel mailing list