[gstreamer-bugs] [Bug 371108] New: videoscale sucks at basic mathematics when it comes to PAR

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sun Nov 5 08:56:36 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=371108

  GStreamer | gst-plugins-base | Ver: 0.10.10

           Summary: videoscale sucks at basic mathematics when it comes to
                    PAR
           Product: GStreamer
           Version: 0.10.10
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: thomas at apestaart.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


videoscale's job is to scale video, preserving display aspect ratio, unless it
is not able to at all.  Given that 3 x 2 variables take part in the negotiation
(w, h, par for two pads), and "preserving DAR" is an equation that links the
six variables, p-a-r should be calculated on one side if all other variables
are specified.

For example, this pipeline:
 gst-launch -v videotestsrc !
video/x-raw-rgb,width=720,height=576,pixel-aspect-ratio=16/15 ! videoscale !
video/x-raw-rgb,width=768,height=576 ! fakesink silent=TRUE


should negotiate a par of 1/1 on videoscale's src pad.

instead it does this:


[gst-head] [thomas at otto gst-plugins-bad]$ gst-launch -v videotestsrc !
video/x-raw-rgb,width=720,height=576,pixel-aspect-ratio=16/15 ! videoscale !
video/x-raw-rgb,width=768,height=576 ! fakesink silent=TRUE
Setting pipeline to PAUSED ...
/pipeline0/videotestsrc0.src: caps = video/x-raw-rgb, bpp=(int)32,
endianness=(int)4321, depth=(int)24, red_mask=(int)16711680,
green_mask=(int)65280, blue_mask=(int)255, width=(int)720, height=(int)576,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
Pipeline is PREROLLING ...
/pipeline0/capsfilter0.src: caps = video/x-raw-rgb, bpp=(int)32,
endianness=(int)4321, depth=(int)24, red_mask=(int)16711680,
green_mask=(int)65280, blue_mask=(int)255, width=(int)720, height=(int)576,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
/pipeline0/capsfilter0.sink: caps = video/x-raw-rgb, bpp=(int)32,
endianness=(int)4321, depth=(int)24, red_mask=(int)16711680,
green_mask=(int)65280, blue_mask=(int)255, width=(int)720, height=(int)576,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
/pipeline0/videoscale0.src: caps = video/x-raw-rgb, width=(int)768,
height=(int)576, bpp=(int)32, endianness=(int)4321, depth=(int)24,
red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
/pipeline0/videoscale0.sink: caps = video/x-raw-rgb, bpp=(int)32,
endianness=(int)4321, depth=(int)24, red_mask=(int)16711680,
green_mask=(int)65280, blue_mask=(int)255, width=(int)720, height=(int)576,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
/pipeline0/capsfilter1.src: caps = video/x-raw-rgb, width=(int)768,
height=(int)576, bpp=(int)32, endianness=(int)4321, depth=(int)24,
red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
/pipeline0/capsfilter1.sink: caps = video/x-raw-rgb, width=(int)768,
height=(int)576, bpp=(int)32, endianness=(int)4321, depth=(int)24,
red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
/pipeline0/fakesink0.sink: caps = video/x-raw-rgb, width=(int)768,
height=(int)576, bpp=(int)32, endianness=(int)4321, depth=(int)24,
red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255,
framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)16/15
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...

I'm pretty sure videoscale actually used to do this.

Please help save mathematics from oblivion!


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email




More information about the Gstreamer-bugs mailing list