[BUG] garbled image with h.264 decoding and -vf bmovl
Hello, I've run across a bit of a bug. I don't know if it's the fault of the bmovl filter or the ffmpeg h.264 decoder, but whenever I combine the two I get a garbled image: http://fatooh.org/files/tmp/garbled.png This appears to occur independently of: - encoder (tested Apple and X264) - resolution (tested a few) - CPU (tested P4 and AthlonXP) - vo (tested xv, x11, and png) - whether there is a program feeding bmovl data over the fifo. Steps to reproduce: 1. I think any h.264 file will do, but try this if there doesn't seem to be a problem: http://www.apple.com/movies/us/hd_gallery/gl1800/480p/serenity_m420p.mov 2. mplayer serenity_m420p.mov -vf bmovl=0:0:/tmp/fifo /tmp/fifo doesn't necessarily have to exist for this test. A verbose log is attached. Details: MPlayer dev-CVS-060408-16:10-4.0.3 (C) 2000-2006 MPlayer Team gcc version 4.0.3 (Debian 4.0.3-1) GNU ld version 2.16.91 20060118 Debian GNU/Linux GNU assembler 2.16.91 20060118 Debian GNU/Linux Debian GNU/Linux testing/unstable Linux ganon 2.6.15-archck4.1 #1 Thu Feb 23 17:39:22 PST 2006 i686 GNU/Linux -Corey
On Sat, 8 Apr 2006, Corey Hickey wrote:
I've run across a bit of a bug. I don't know if it's the fault of the bmovl filter or the ffmpeg h.264 decoder, but whenever I combine the two I get a garbled image:
I get a segfault. quick diagnosis: bmovl assumes width == stride. to make that so, set avctx->flags|=CODEC_FLAG_EMU_EDGE; vd_ffmpeg does that if and only if direct rendering is enabled. ffh264 doesn't support direct rendering. --Loren Merritt
On Sat, April 8, 2006 21:19, Loren Merritt wrote:
On Sat, 8 Apr 2006, Corey Hickey wrote:
I've run across a bit of a bug. I don't know if it's the fault of the bmovl filter or the ffmpeg h.264 decoder, but whenever I combine the two I get a garbled image:
I get a segfault.
quick diagnosis: bmovl assumes width == stride. to make that so, set avctx->flags|=CODEC_FLAG_EMU_EDGE; vd_ffmpeg does that if and only if direct rendering is enabled. ffh264 doesn't support direct rendering.
Thanks for the investigation, Loren. I don't know how to fix bmovl myself, but I'll send an email to Per Wigren off-list and see if he's willing to look at it. -Corey
Corey Hickey wrote:
I've run across a bit of a bug. I don't know if it's the fault of the bmovl filter or the ffmpeg h.264 decoder, but whenever I combine the two I get a garbled image: I get a segfault.
quick diagnosis: bmovl assumes width == stride. to make that so, set avctx->flags|=CODEC_FLAG_EMU_EDGE; vd_ffmpeg does that if and only if direct rendering is enabled. ffh264 doesn't support direct rendering.
Thanks for the investigation, Loren. I don't know how to fix bmovl myself, but I'll send an email to Per Wigren off-list and see if he's willing to look at it.
Dang, my message bounced with a 550 (Mailbox not found). Does anyone know an address for Per Wigren that is not wigren@home.se? -Corey
On Sunday 09 April 2006 06:19, Loren Merritt wrote:
On Sat, 8 Apr 2006, Corey Hickey wrote:
I've run across a bit of a bug. I don't know if it's the fault of the bmovl filter or the ffmpeg h.264 decoder, but whenever I combine the two I get a garbled image:
I get a segfault.
quick diagnosis: bmovl assumes width == stride. to make that so, set avctx->flags|=CODEC_FLAG_EMU_EDGE; vd_ffmpeg does that if and only if direct rendering is enabled. ffh264 doesn't support direct rendering.
Would that be fixed by bmovl2? Integrating that would still make sense anyhow, has that been (re-)considered recently? Ciao, / / /--/ / / ANS
participants (3)
-
Corey Hickey -
Hans Meine -
Loren Merritt