Need to access memory address of Texture in Unity 3.5 Beta

I have a library written in C++ with binding for C# for gathering information from an image.
Currently in C#.NET I’m using my library in this way:

unsafe
{
    Bitmap imageData = new Bitmap("image.jpg");
    BitmapData data = imageData.LockBits(
            new Rectangle(new Point(0, 0), imageData.Size),
            ImageLockMode.ReadWrite,
            PixelFormat.Format24bppRgb);

    // Get the address of first pixel in image
    byte* pointer = (byte*)data.Scan0;

    // My object singleton
    Live live = w2d.GetLive();

    // Call process and retrieve information
    Content content = live.Process(pointer,
            (uint)imageData.Width,
            (uint)imageData.Height,
            data.Stride,
            false,
            engine);
}

Now what I want is to integrate this with Unity. Using a Unity script I’ve created a WebCamTexture object like this:

WebCamDevice device = new WebCamDevice();
// texture is a class attribute in order to be able to access it from Update()
texture = new WebCamTexture(device.name, (int)width, (int)height, 30);

renderer.material.mainTexture = texture;
texture.Play();

This works great and I can see the webcam image in Unity when executing.

On the Update() method of this script I would like to retrieve the frame from memory (as I do with the Bitmap in .NET) and pass that info to my processing library. In essence what I need is a way to find the memory address of the frame and how it is encoded in memory (I hope it’s like the Bitmap (uncompressed) and RGB24).

Thanks in advance,

Have you had any succes on this. I need exactly the same thing.
I tried to use getPixels32(data) but the returned data seems strange to me.

If I save it to a png image, the resulting image looks strange.
Color tmp = new Color[data.Length];
for (int i = 0; i < tmp.Length; i++) {
tmp.r = data.r;//m_vidframe_byte[3 * i];
tmp.g = data.g;//m_vidframe_byte[3 * i + 1];
tmp.b = data.b;//m_vidframe_byte[3 * i + 2];
}

// For testing purposes, also write to a file in the project folder
count++;

var tex = new Texture2D (640, 480, TextureFormat.RGB24, false);
tex.SetPixels(tmp);
tex.Apply();

// Encode texture into PNG
var bytes = tex.EncodeToPNG();
Destroy (tex);

File.WriteAllBytes(Application.dataPath + “/…/SavedScreen” + count + “.png”, bytes);