id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc	blockedby	blocking	reproduced	analyzed
655	mms stream shows artefacts on codec change	qrtt1		"
I try to play mms://72.13.93.186/campcartoon with my android player which
is implemented by our staff.

We use ffmpeg to decode a/v frames, and most mms streams are playing well.
TubTub.com (mms://72.13.93.186/campcartoon) is always going wrong after playing for a while.
I cannot figure out what does matter with it. There are some log messages shown by ffmpeg.

When asf parser emitted error messages, my screen doesn't look good. 
We can reproduce it in ffplay on x86 machine.

Here are log messages from adb logcat
{{{
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header 0  at:10661828
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf skip 1435 (unknown stream)
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header b4  at:10663272
I/libffmpeg( 2421): [asf @ 0x384b00] invalid padsize 15554 at:10663276
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header 31  at:10663286
I/libffmpeg( 2421): [asf @ 0x384b00] invalid padsize 56873 at:10663288
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header e2  at:10663310
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad non zero
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header f  at:10663354
I/libffmpeg( 2421): [asf @ 0x384b00] ff asf bad header 4  at:10664880
I/libffmpeg( 2421): [asf @ 0x384b00] packet_obj_size invalid
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size (4062 147 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size (4209 1410 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size (5619 1410 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] ignoring invalid packet_obj_size (7029 445 3412 8292)
I/libffmpeg( 2421): [asf @ 0x384b00] freeing incomplete packet size 8292, new 1272
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 39040 > 39008
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 22 DC, 22 AC, 22 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 27354 > 27352 at 8x5
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 341 DC, 341 AC, 341 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 32514 > 32512 at 22x18
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 2 DC, 2 AC, 2 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 37293 > 37272
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 92 DC, 92 AC, 92 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 40398 > 40392 at 0x13
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 149 DC, 149 AC, 149 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 23513 > 23456
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 213 DC, 213 AC, 213 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 22230 > 22208 at 4x18
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 20 DC, 20 AC, 20 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 22809 > 22800 at 15x7
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 284 DC, 284 AC, 284 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 15884 > 15864
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 279 DC, 279 AC, 279 MV errors
I/libffmpeg( 2421): [vc1 @ 0x2860e0] Bits overconsumption: 16257 > 16240 at 6x5
I/libffmpeg( 2421): [vc1 @ 0x2860e0] concealing 343 DC, 343 AC, 343 MV errors
}}}

The bad video picture will become to normal in x86 devices, but 'ff_mspel_motion' got crashed on Android (arm).
Here is my workaround to prevent from the negative array index:
https://github.com/qrtt1/ffmpeg_icy/commit/8f8bfb9ce74691cebdc704a7b65b38a8e0fee69f



"	defect	reopened	normal	undetermined	git-master		mms asf vc1				1	0
