Geoffrey Hausheer wrote:
It doesn't sound like an avcodec issue, but you can never be sure. Please compare my video to yours, and see if they are different. If
they are the same, well...I can't explain it as it plays great for me,
so they'll be different.  The question will be 'why'
One way to answer is to run through gdb with '-d 2' and set a
breakpoint in write_yuv.  the first call will be the original frame,
the second, the reconstructed one.  doing a print
*info->display_picture in both cases and compare the 'flags' value. it should be 9 or 10 the first time write_yuv is called, and always be
'9' on the second call.
The flags looked right. They were indicating B->I B->I P->I, etc. The cnv?.yuv files look great, the corresponding cnv?.yuv.enc and cnv?.yuv.enc.yuv are garbage. Since I was pulling my hair out on this, and not being all that familiar with the avcodec API, I decided to try something on a whim: disabling simd optimizations using
c->dsp_flags = 0xffff;
Bingo, everything looks great. I then tried enabling each optimization individually. If I disable MMX, everything crisp. MMX optimizations on, garbage. This is on a Pentium 4 2.4B, mmx sse sse2.

So points me to yet another libavcodec problem, this time with MMX opts. Everything in mpeg2fix works great as long as I keep mmx disabled for now. I've tried it on 5 PS streams and cutpoints all up and down the file and every cut looks good. Really nice work!
_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to