-
1. Re: Exporter plugin: PrPixelFormat PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_*
Rallymax-forum Mar 13, 2013 6:12 PM (in response to nvenc4everyone)I found that YV12 and NV12 are garbled too - on both import and export.
I have been assured by Adobe they have it right so I don't know what the deal is.
-
2. Re: Exporter plugin: PrPixelFormat PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_*
nvenc4everyone Mar 13, 2013 10:10 PM (in response to Rallymax-forum)Ok, I see what I did wrong.
I used the sample plugin project that came with the CS6 SDK. In their sample code (SDK_File.cpp), they use the following call to access a packed-pixel framebuffer:
mySettings->ppixSuite->GetPixels( ... ); // only works for PackedPixel formats (not planar!)
It turns out that the standard PrPixSuite only supports the packed-pixel formats (non-planar.) For the 'new' planar formats (PrPixelFormat_YUV_420_*), you must use the new PrPix2Suite. It's briefly mentioned in the SDF User's Guide:
"PPix 2 Suite
A call to get the size of a PPix. Starting in version 2 of this suite, introduced in CS4, there is a new
GetYUV420PlanarBuffers call to get buffer offsets and rowbytes of YUV_420_MPEG2 pixel formats. See PrSDKPPix2Suite.h."
After changing the struct "mySettings", to acquire & store the 'kPrSDKPPix2Suite' suite, I changed the above call to this:
mySettings->ppix2Suite->GetYUV420PlanarBuffers( ... ); // for planar PixelFormats only!
After this change, my plugin properly reads the 3 separate Y/U/V pixel-planes!
-
3. Re: Exporter plugin: PrPixelFormat PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_*
Rallymax-forum Mar 14, 2013 1:41 PM (in response to nvenc4everyone)Good work!
At least I know now why it didn't work for me.

