After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 330619 - huffyuv decoding doesn't work
huffyuv decoding doesn't work
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
0.10.0
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-02-10 05:30 UTC by Peter Eszlari
Modified: 2008-05-06 12:49 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug (2.75 KB, text/plain)
2006-02-13 15:34 UTC, Peter Eszlari
Details
debug.log.gz (589.21 KB, application/octet-stream)
2006-02-13 15:46 UTC, Peter Eszlari
Details

Description Peter Eszlari 2006-02-10 05:30:42 UTC
I try to play back an avi with huffyuv:

$ gst-launch-0.10 filesrc location=capture.avi ! avidemux ! ffdec_huffyuv ! ffmpegcolorspace ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 326000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

Nothing shows up. Audio playback works.
The file was captured from a TV card with mencoder(v4l2).

video: huffyuv, 720x576, 25fps
audio: uncompressed PCM, stereo, 32kHz
size: 369.5MB
duration: 30s

It works fine with mplayer, ffplay, xine and vlc.

The same happens when I use "Lossless JPEG" as an encoder, in which case only mplayer and ffplay are able to play it back, probably because the other players don't know the tag "LJPG".
Comment 1 Edward Hervey 2006-02-10 10:37:01 UTC
Peter, did you try with latest versions of gstreamer core and plugins-base ? Also, do you have gst-ffmpeg-0.10.x installed ?
Comment 2 Peter Eszlari 2006-02-12 16:34:10 UTC
gstreamer: 0.10.3
gst-plugins-base: 0.10.3
gst-ffmpeg: 0.10.0
Comment 3 Edward Hervey 2006-02-13 11:18:10 UTC
could you paste here the result of:
gst-launch-0.10 -v -t filesrc location=yourhufffile ! decodebin
Comment 4 Peter Eszlari 2006-02-13 14:56:58 UTC
$ gst-launch-0.10 -v -t filesrc location=huffyuv.avi ! decodebin
Setting pipeline to PAUSED ...
/pipeline0/decodebin0/typefind.src: caps = video/x-msvideo
Pipeline is PREROLLING ...
FOUND TAG      : found by element "avidemux0".
    video codec: Huffman Lossless Codec
FOUND TAG      : found by element "avidemux0".
    audio codec: Uncompressed 16-bit PCM audio
FOUND TAG      : found by element "avidemux0".
        encoder: MEncoder dev-CVS-060118-13:12-3.3.6
/pipeline0/decodebin0/queue0.sink: caps = video/x-huffyuv, bpp=(int)16, framerate=(fraction)25/1, width=(int)720, height=(int)576
/pipeline0/decodebin0/ffdec_huffyuv0.sink: caps = video/x-huffyuv, bpp=(int)16, framerate=(fraction)25/1, width=(int)720, height=(int)576
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock


Then nothing happens. I press [CTRL]+[C]:


Caught interrupt -- Pausing pipeline.
Pipeline paused.
WARNING: Element "pipeline0" warns: pipeline interrupted
Element "pipeline0" has gone from PLAYING to PAUSED, quitting.
Execution ended after 147233837000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/pipeline0/decodebin0/ffdec_huffyuv0.sink: caps = NULL
/pipeline0/decodebin0/queue0.sink: caps = NULL
/pipeline0/decodebin0/avidemux0.audio_00: caps = NULL
/pipeline0/decodebin0/avidemux0.video_00: caps = NULL
/pipeline0/decodebin0/typefind.src: caps = NULL
Setting pipeline to NULL ...
FREEING pipeline ...
Comment 5 Edward Hervey 2006-02-13 15:07:41 UTC
yes, it's not meant to do anything (there's nothing connected to decodebin). It was to check which caps it was (video/x-huffyuv) and that you had the proper decoder (ffdec_huffyuv).

Can you run the following command and attach the debug.log (compressed if possible):

gst-launch-0.10 -v -t playbin uri=file:///all/the/path/leading/to/huffyuv.avi > debug.log 2>&1
Comment 6 Peter Eszlari 2006-02-13 15:34:19 UTC
Created attachment 59266 [details]
debug
Comment 7 Edward Hervey 2006-02-13 15:37:22 UTC
I'm stupid, I forgot to mention with debugging options:

GST_DEBUG=5 gst-launch-0.10 -v -t playbin uri=file:///all/the/path/leading/to/huffyuv.avi > debug.log 2>&1

Comment 8 Peter Eszlari 2006-02-13 15:46:28 UTC
Created attachment 59268 [details]
debug.log.gz
Comment 9 Edward Hervey 2006-02-13 16:06:10 UTC
The problem is that the ffmpeg huffyuv decoder doesn't set the keyframe information on the buffers, which as a result, all get discarded in the gstreamer ffmpeg decoder wrapper.

Could you check it with latest cvs of gst-ffmpeg ?

2006-02-13  Edward Hervey  <edward@fluendo.com>

	* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_release_buffer),
	(gst_ffmpegdec_frame):
	More fixes for keyframe detection in ffmpeg decoders...

Comment 10 Peter Eszlari 2006-02-13 16:41:41 UTC
I'm behind a firewall. Only http/ftp available. :(
Could you upload a snapshot?
Hopefully, someday there will be a working svn.freedesktop.org!
Comment 11 Peter Eszlari 2006-02-14 01:58:28 UTC
Got cvs! It's getting better. At least something gets displayed now although it's just garbage.

You can produce samples yourself and try it out:

$ ffmpeg -i somefile.avi -pix_fmt yuv422p -vcodec huffyuv -an huffyuv.avi
Comment 12 Wim Taymans 2006-02-19 16:05:54 UTC
confirmed
Comment 13 Wim Taymans 2006-02-19 16:14:53 UTC
looks like huffyuv decodes to Y42B and the color conversion does some strange things with that.
Comment 14 Wim Taymans 2006-03-24 19:12:23 UTC
still borked with latest versions.
Comment 15 Peter Eszlari 2006-06-23 03:56:07 UTC
Works now but seems to have some performance problems:
Trying one of my files(AVI,9GB,12min,Huffyuv,720x576,25fps,PCM,32kHz) results in slow playback/seeking and audio dropouts.
Comment 16 Edward Hervey 2007-12-17 16:02:27 UTC
Peter, can you try with latest trunk of gst-ffmpeg ?
Comment 17 Sebastian Dröge (slomo) 2008-05-06 12:49:33 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!