[FFmpeg-devel] Corrupted blocks and seeking issues in H264 disc sources

Andreas Öman andreas
Tue Jul 24 12:18:32 CEST 2007


Andreas ?man wrote:
> Hi
> 
> Michael Niedermayer wrote:
>> Hi
>>
>> fill_caches()
>> does
>>             h->ref_cache[list][scan8[5 ]+1] =
>>             h->ref_cache[list][scan8[7 ]+1] =
>>             h->ref_cache[list][scan8[13]+1] =  //FIXME remove past 3 (init somewhere else)
>>             h->ref_cache[list][scan8[4 ]] =
>>             h->ref_cache[list][scan8[12]] = PART_NOT_AVAILABLE;
>>
>> why doesnt this suffice to mark them as unavailable?
>>
> 
> I believe it is cause pred_direct_motion() overwrites
> all this will zeroes.
> 
> 

FWIW, in pred_direct_motion()..

h->direct_spatial_mv_pred is set

and

at the end, the following loop,

	int v;
	for(v = 0; v < 16; v+=4) {
	tprintf(s->avctx, "%2d %2d %2d %2d\n",
		h->ref_cache[0][scan8[v+0]],
		h->ref_cache[0][scan8[v+1]],
		h->ref_cache[0][scan8[v+2]],
		h->ref_cache[0][scan8[v+3]]);


prints:

[h264 @ 0x84aff08] 0  0  0  0
[h264 @ 0x84aff08] 0  0  0  0
[h264 @ 0x84aff08] 0  0  0  0
[h264 @ 0x84aff08] 0  0  0  0






More information about the ffmpeg-devel mailing list