Skip navigation
Currently Being Moderated

VUYA

May 15, 2013 4:12 PM

Thank you for having you replay.

 

I'm going to make AE Plug-In to work on Premiere pro.

I find at the SDK_Noise sample(AE SDK sample), I renewed a part of the "Render" function as follows

and carried it out.

 

but,

in the case of "src ①", noise_param.u.ld.data is "ARGB" format,

in the case of "src ②", noise_param.u.ld.data is "VUYA" format.

 

why are formats different "src ①" and "src ②" ?

 

****************************************************************

static PF_Err

Render (

          PF_InData                    *in_dataP,

          PF_OutData                    *out_data,

          PF_ParamDef                    *params[],

          PF_LayerDef                    *output )

{

・・・

     else if (destinationPixelFormat == PrPixelFormat_VUYA_4444_8u)

     {

          PF_ParamDef noise_param;

          AEFX_CLR_STRUCT(noise_param);

 

          ERR(PF_CHECKOUT_PARAM(  in_dataP,

                                                             0,

                                                             in_dataP->current_time,

                                                             in_dataP->time_step,

                                                             in_dataP->time_scale,

                                                             &noise_param));

 

          ERR(suites.Iterate8Suite1()->iterate( in_dataP,

                                                                     0,                                      

                                                                     linesL,                               

                                                                     &noise_param.u.ld,                             // src ①

                                                                     //&params[NOISE_INPUT]->u.ld,         // src ②

                                                                     NULL,                                

                                                                     (void*)&niP,                       

                                                                     FilterImageVUYA_8u,        

                                                                     output));

 

          ERR(PF_CHECKIN_PARAM(in_dataP, &noise_param));

・・・

}

****************************************************************

 
Replies
  • Currently Being Moderated
    Aug 14, 2012 5:37 PM   in reply to U ch

    it is all dependant on the source footage format.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 15, 2012 10:13 AM   in reply to U ch

    Source files are different:

    eg:     DV, MPEG2, MPEG4 is compressed YUV420 -> Converted in Importer to YUVA4444 -> PrPixelFormat_YUVA_4444_8u

              MotionJPEG is compressed RGB -> Converted in Importer to BGRA4444 -> PrPixelFormat_BGRA_4444_8u

              Apple ProRes 10bit YUV422 -> PrPixelFormat_YUVA_4444_32f

     

    In your plugin register supported PrPixelFormat_* of what you can process.

    eg: If you only process PrPixelFormat_YUVA_4444_32f register only that PrPixelFormat.

     

    version<CS5.0 you MUST support PrPixelFormat_BGRA_8u

     

    version>CS6.0 Premiere Pro will convert to your format.

     

    I recommend you make your plugin using PrPixelFormat_YUVA_4444_32f only.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 16, 2012 9:26 AM   in reply to U ch

    Hi U ch,

     

    Have you confirmed that the pixel formats of the two buffers are different using pixelFormatSuite->GetPixelFormat()?

     

    Thanks,

     

    Zac

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 17, 2012 1:45 PM   in reply to U ch

    Ah yes, so in CS5.5 and earlier, frames retrieved from Premiere Pro using PF_CHECKOUT_PARAM() are always 8-bit ARGB.

     

    New in CS6,  you can optionally specify that PF_CHECKOUT_PARAM() should pass back frames in the same pixel format being requested by the current render.  In the AE CS6 SDK, in PrSDKAESupport.h, PF_UtilitySuite4 contains EffectWantsCheckedOutFramesToMatchRenderPixelFormat().  Your effect should make this call during PF_Cmd_GLOBAL_SETUP, which is the same selector where an effect would already advertise support beyond 8-bit RGB using AddSupportedPixelFormat().  After making that call, the two frames in your example above will be VUYA_32f.

     

    Cheers,

     

    Zac

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 20, 2012 5:20 PM   in reply to U ch

    The PPro SDK has some sample code for you to start with.  See the ConvertFromBGRA32fToVUYA32f() in SDK_File.cpp.  You'll need to modify this to handle ARGB rather than BGRA_32f.  And you'll need to do the reverse function to get back to ARGB.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Incoming Links

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points