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 324847 - Playing raw dv (PAL) colour problem on Ubuntu Breezy PPC.
Playing raw dv (PAL) colour problem on Ubuntu Breezy PPC.
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.0
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-12-22 23:26 UTC by Anders Gudmundson
Modified: 2007-05-14 20:34 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12



Description Anders Gudmundson 2005-12-22 23:26:23 UTC
Please describe the problem:
gst-launch-0.10 garbles (reverses) colour and video stutters (very poor
framerate) when playing raw dv. PAL (gst-launch-0.8 works colour-wise but is
also very slow).
Playing a dv NTSC file the output is correctly rendered (but also as slow as PAL)

Steps to reproduce:
example with gst-launch-0.10:

anders@jupiter:~/Desktop/videosamples$ gst-launch-0.10 -v filesrc
location=jonas001.dv ! decodebin ! xvimagesink Setting pipeline to PAUSED ...
/pipeline0/decodebin0/typefind.src: caps = video/x-dv,
systemstream=(boolean)true, format=(string)PAL
Pipeline is PREROLLING ...
/pipeline0/decodebin0/dvdemux0.sink: caps = video/x-dv,
systemstream=(boolean)true, format=(string)PAL
/pipeline0/decodebin0.src0: caps = NULL
/pipeline0/decodebin0/dvdemux0.audio: caps = audio/x-raw-int, rate=(int)32000,
depth=(int)16, width=(int)16, signed=(boolean)true, channels=(int)2,
endianness=(int)4321
/pipeline0/decodebin0/dvdemux0.video: caps = video/x-dv,
systemstream=(boolean)false, width=(int)720, height=(int)576,
framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0/queue0.sink: caps = video/x-dv,
systemstream=(boolean)false, width=(int)720, height=(int)576,
framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0/dvdec0.src: caps = video/x-raw-yuv, format=(fourcc)YUY2,
width=(int)720, height=(int)576, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0/dvdec0.sink: caps = video/x-dv,
systemstream=(boolean)false, width=(int)720, height=(int)576,
framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, format=(fourcc)YUY2,
width=(int)720, height=(int)576, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0.src0: caps = video/x-raw-yuv, format=(fourcc)YUY2,
width=(int)720, height=(int)576, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0.src0.proxypad1: caps = video/x-raw-yuv,
format=(fourcc)YUY2, width=(int)720, height=(int)576, framerate=(fraction)25/1,
pixel-aspect-ratio=(fraction)59/54
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock 

example with gst-launch-0.8:

anders@jupiter:~/Desktop/videosamples$ gst-launch-0.8 -v filesrc location=
jonas001.dv ! decodebin ! ffmpegcolorspace ! xvimagesink KÖR rörledning...
/pipeline0/filesrc0.src: caps = application/octet-stream
/pipeline0/decodebin0/typefind.sink: caps = application/octet-stream
/pipeline0/filesrc0.src: active = TRUE
/pipeline0/decodebin0/typefind.sink: active = TRUE
/pipeline0/decodebin0/typefind.src: active = TRUE
/pipeline0/decodebin0/dvdec0.audio: active = TRUE
/pipeline0/decodebin0/dvdec0.video: active = TRUE
/pipeline0/ffmpegcolorspace0.sink: active = TRUE
/pipeline0/ffmpegcolorspace0.src: active = TRUE
/pipeline0/ffmpegcolorspace0.src: caps = video/x-raw-yuv, width=(int)720,
height=(int)480, framerate=(double)30, pixel-aspect-ratio=(fraction)59/54,
format=(fourcc)YUY2
/pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, width=(int)720,
height=(int)480, framerate=(double)30, pixel-aspect-ratio=(fraction)59/54,
format=(fourcc)YUY2
/pipeline0/xvimagesink0.sink: active = TRUE
/pipeline0/decodebin0/dvdec0.sink: active = TRUE
/pipeline0/decodebin0/typefind.src: caps = video/x-dv,
systemstream=(boolean)true, format=(string)PAL
/pipeline0/decodebin0/dvdec0.sink: caps = video/x-dv,
systemstream=(boolean)true, format=(string)PAL
/pipeline0/filesrc0: blocksize = 144000
/pipeline0/ffmpegcolorspace0.src: caps = video/x-raw-yuv, width=(int)720,
height=(int)576, framerate=(double)25, pixel-aspect-ratio=(fraction)59/54,
format=(fourcc)YUY2
/pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, width=(int)720,
height=(int)576, framerate=(double)25, pixel-aspect-ratio=(fraction)59/54,
format=(fourcc)YUY2
/pipeline0/decodebin0/dvdec0.video: caps = video/x-raw-rgb, bpp=(int)32,
depth=(int)24, endianness=(int)4321, red_mask=(int)65280,
green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)720,
height=(int)576, pixel-aspect-ratio=(fraction)59/54, framerate=(double)25
/pipeline0/ffmpegcolorspace0.sink: caps = video/x-raw-rgb, bpp=(int)32,
depth=(int)24, endianness=(int)4321, red_mask=(int)65280,
green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)720,
height=(int)576, pixel-aspect-ratio=(fraction)59/54, framerate=(double)25


Actual results:


Expected results:


Does this happen every time?


Other information:
As the version of libdv probably is the same in 0.10 and 0.8 - I thought this
must be an gstreamer issue.
Comment 1 Luca Ognibene 2006-02-19 16:18:17 UTC
Do you have a file so we can try it ? Thanks!
Comment 2 Anders Gudmundson 2006-02-19 18:20:50 UTC
Of course:
PAL dv: 
http://www.gudmundson.se/anders/uploads/Klipp04.dv
cheers!
Anders
Comment 3 Luca Ognibene 2006-02-19 18:43:50 UTC
After some debug:
 - ./gstreamer/tools/gst-launch-0.10 filesrc location=Klipp04.dv ! dvdemux ! dvdec ! ffmpegcolorspace ! xvimagesink works fine on i386 but not on ppc
 - dvplay (from the libdv-bin ubuntu package) has the same problem of the dvdec element (so it doesn't seem a gstreamer issue)
 - using the ffdec_dvvideo element instead of dvdec works fine on ppc (and it's also a lot faster!)

Maybe we can raise the priority of ffdec_dvvideo ? Any drawback ?
Comment 4 Tim-Philipp Müller 2006-04-27 16:25:46 UTC
Ranks seem to have been adjusted as suggested by Luca:

 2006-04-21  Andy Wingo  <wingo@pobox.com>

        * ext/dv/gstdv.c (plugin_init): libdv is a marginal decoder, at
        best, on big endian systems. Drop its rank in that case. OTOH on
        x86 it's quite fine. See changes from today in gst-ffmpeg as well.

 2006-04-21  Andy Wingo  <wingo@pobox.com>

        * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Up the rank
        of the dv video decoder.

Comment 5 Tim-Philipp Müller 2006-10-31 15:28:16 UTC
Does this still happen on ubuntu edgy?
Comment 6 Tim-Philipp Müller 2006-10-31 15:57:09 UTC
Anders, any chance you could make the clip available again?
Comment 7 Anders Gudmundson 2006-10-31 20:21:25 UTC

(In reply to comment #5)
> Does this still happen on ubuntu edgy?
> 

What made you think I've dist-upgraded :-)
No, it plays ok now on Edgy... using ffmpeg dec it seems.
Nice, the future looks brighter for Pitivi and Diva on PPC (I use Blender now for editing DV and it's great!) 

some output from Edgy:
gst-launch-0.10 -v filesrc location=video001.dv ! decodebin ! xvimagesinkStäller in rörledningen till PAUSED...
/pipeline0/decodebin0/typefind.src: caps = video/x-dv, systemstream=(boolean)true, format=(string)PAL
Rörledningen utför PREROLL...
/pipeline0/decodebin0/dvdemux0.audio: caps = audio/x-raw-int, rate=(int)48000, depth=(int)16, width=(int)16, signed=(boolean)true, channels=(int)2, endianness=(int)4321
/pipeline0/decodebin0.src1: caps = audio/x-raw-int, rate=(int)48000, depth=(int)16, width=(int)16, signed=(boolean)true, channels=(int)2, endianness=(int)4321
/pipeline0/decodebin0.src1.proxypad2: caps = audio/x-raw-int, rate=(int)48000, depth=(int)16, width=(int)16, signed=(boolean)true, channels=(int)2, endianness=(int)4321
/pipeline0/decodebin0/dvdemux0.video: caps = video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0/queue0.sink: caps = video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0/queue0.src: caps = video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0/ffdec_dvvideo0.sink: caps = video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0/ffdec_dvvideo0.src: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)59/54
/pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0.src0: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)59/54
/pipeline0/decodebin0.src0.proxypad1: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420, pixel-aspect-ratio=(fraction)59/54
Rörledningen har utfört PREROLL...
Ställer in rörledningen till PLAYING...
New clock: GstSystemClock
Caught interrupt -- Pausing pipeline.

(In reply to comment #6)
> Anders, any chance you could make the clip available again?
> 

I'll try to upload it again asap (my ISP has some problems right now...).

Comment 8 Tim-Philipp Müller 2006-11-01 11:27:43 UTC
What about

  gst-launch-0.10 -v filesrc location=video001.dv ! dvdemux ! dvdec ! ffmpegcolorspace ! xvimagesink  

?

Comment 9 Anders Gudmundson 2006-11-01 16:49:45 UTC
Not working... Inverted colours and slow.

anders@jupiter:~/Desktop$ gst-launch-0.10 -v filesrc location=video001.dv ! dvdemux ! dvdec ! ffmpegcolorspace ! xvimagesink
Ställer in rörledningen till PAUSED...
Rörledningen utför PREROLL...
/pipeline0/dvdemux0.audio: caps = audio/x-raw-int, rate=(int)48000, depth=(int)16, width=(int)16, signed=(boolean)true, channels=(int)2, endianness=(int)4321
/pipeline0/dvdemux0.video: caps = video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/dvdec0.src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/dvdec0.sink: caps = video/x-dv, systemstream=(boolean)false, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/ffmpegcsp0.src: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/ffmpegcsp0.sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
/pipeline0/xvimagesink0.sink: caps = video/x-raw-yuv, format=(fourcc)YUY2, width=(int)720, height=(int)576, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)59/54
Rörledningen har utfört PREROLL...
Ställer in rörledningen till PLAYING...
New clock: GstSystemClock
Comment 10 David Schleef 2007-05-14 20:34:00 UTC
This bug is in a dependent package, so I'm closing.