jpegenc a theora playbin2 buffer?

Conrad Cooke (Palm GBU) Conrad.Cooke at palm.com
Mon Sep 19 14:51:26 PDT 2011


Mark,

I have it figured out - have programmed 2 - they connect to my Manta - please come up and verify

Conrad

On Sep 19, 2011, at 11:46 AM, Erik Blankinship wrote:



On Mon, Sep 19, 2011 at 1:08 PM, Xabier Rodriguez Calvar <calvaris at igalia.com<mailto:calvaris at igalia.com>> wrote:
O Lun, 19-09-2011 ás 12:08 -0400, Erik Blankinship escribiu:
> But two problems arise:
>      1. It appears red and blue have been swapped in my pixbuf.  Do I
>         need to run the buffer through a pre-process before
>         pixbuf_new_from_data?

       I had used this at an old piece of code in C:

               pixbuf = gdk_pixbuf_new_from_data(
                       GST_BUFFER_DATA(new_buffer), GDK_COLORSPACE_RGB,
                       FALSE, 8, width, height,
                       GST_ROUND_UP_4(3 * width), _destroy_pixbuf,
                       new_buffer);


I am continuing to have trouble with this.  Most every combination I try ends up with a distorted image.  Further, there doesn't appear to be a pygst counterpart to GST_ROUND_UP_4, but it is easy enough to compute.

def f(num):
    return (num + 3) & ~3

If it is of help to anyone out there, my caps read as follows:

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)512, height=(int)277, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, color-matrix=(string)sdtv, chroma-site=(string)jpeg;

What's the thinking and solution behind mapping this buffer into a gdk pixbuf successfully?


>      1. What is the best way to get the values for the width and
>         height of the buffer we're converting to a pixbuf?  Grab and
>         cache them from the playbin2?

You have them in the code I pasted. They should be in the the buffer
caps.

Yes, of course.  Thanks again for that.

In pygst for future searchers:

caps = last_frame.get_caps()[0]
width = int(caps["width"])
height = int(caps["height"])

<ATT00001..txt>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110919/fd3b9116/attachment.htm>


More information about the gstreamer-devel mailing list