Quantcast
Channel: Adobe Community : Popular Discussions - After Effects SDK
Viewing all 73444 articles
Browse latest View live

Unexpected Match Name Searchecd For in Group (29:0)

$
0
0
I get this error:
Unexpected Match Name Searchecd For in Group (29:0)

when I call this Method:
ERR(suites.StreamSuite2()->AEGP_GetStreamName(streamH, TRUE, stream_nameZ))

that call is in this function:
static A_Err ProcessStream(
AEGP_StreamRefH streamH,
A_char *stream_nameZ)
{
A_Err err = A_Err_NONE;
ERR(suites.StreamSuite2()->AEGP_GetStreamName(streamH, TRUE, stream_nameZ));
}

it is being called from this function

static A_Err recursiveCrawl(...)
{
A_Char stream_nameAC[AEGP_MAX_ITEM_NAME_SIZE] = {'\0'};

/*...*/
ERR(suites.StreamSuite2()->AEGP_GetNewLayerStream(S_my_id, layerH, AEGP_LayerStream_SOURCE_TEXT, &streamH));
ProcessStream(streamH, stream_nameAC, out);

}

Any thoughts? I am running through the whole project and getting all of the text layers and writing them out to XML. So recursiveCrawl has a for loop, it's getting the number of layers, etc etc etc... I have 7 itmes in 3 comps and I can varify that in processStream (I wrote out 7 items to my file) but when I attempt to che the stream name so I can get the value of the text, I get this error:Unexpected Match Name Searchecd For in Group (29:0)

Need to speak with a plug-in developer

$
0
0
There's a plug-in idea that I have that is a sure fire winner but I lack any form of software development skills and need the assistance of a developer(s).

There is no other plug in available that will do what I am thinking of and I'm fairly certain the demand for such a plugin would be high.

if anyone is a developer and would like to know more please contact me at

info (at) azchoppercam.com

Thanks!

DJ

AEGP_GEOMETRYSUITE ?

$
0
0

Hi there,

 

I'm trying to get the layers transform-info (rotation, translation).

In the docu I found the  AEGP_GEOMETRYSUITE

The problem is that I don't find a AEGP_GEOMETRYSUITE in AEGP_SuiteHandler.h

 

Can anyone help me?

 

thx

Layer Param Checkout -- interrupts

$
0
0
http://omino.com/misc/layerCheckoutOddity.jpg

I'm doing a dead-simple effect plugin. Takes a source layer, and renders a grid from it, with time steps. All simple!

But I sometimes end up with "dead cells" in my grid. I think this happens when starting and stopping rendering, like maybe the layers beneath get the Halt signal, but my effect chugs on heedless.

And then the rendered frame is in the cache, believed rendered.

Is there a recipe to avoid this?
Ohhh check for PF_ABORT before any layer checkout maybe?

Thanks!

Dependent parameters, keyframing.

$
0
0

I'm looking for some help creating dependent parameters that interact correctly with keyframing/expressions/scrubbing.

 

 

As an example imagine I have 2 float sliders: SLIDER1 and SLIDER2.  I want my effect to copy the value of  slider1 into slider2.  I've discovered the PF_ParamFlag_SUPERVISE flag, so when the user adjusts slider1 I can copy the value into slider2 during the PF_Cmd_USER_CHANGED_PARAM callback:

 

    params[SLIDER2]->u.fs_d.value = params[SLIDER1]->u.fs_d.value;

    params[SLIDER2]->uu.change_flags |= PF_ChangeFlag_CHANGED_VALUE;

 

 

 

That works but fails when SLIDER1 has been keyframed (or uses an expression).  If I add 2 keyframes on SLIDER1 and then just scrub the timeline then PF_Cmd_USER_CHANGED_PARAM is never called.  The supervisor sample just seems to use a non time-varying supervised parameter so that's not so helpful.

 

 

Are there any callbacks/flags/idioms/hacks to create the effect I want?   It's not ideal but I'm thinking about baking keyframes in SLIDER2 whenever SLIDER1 is changed :-(

 

Thanks!

Troubleshooting Plug-ins

$
0
0

I have created a plug-in and tested it sucessfully on my computers, both Mac and PC, 32 and 64-bit, and everything has worked fine. However, when I put the plug-in my website for download, one user has told me they got an error:

 

AFter Effects error: plug-in \"C:\\Program Files\\Adobe\\Adobe After Effects CS5\\Support Files\\Plug-ins\\BatchFrame\\

De_Compose\" could not be loaded (126).
(48::46)

I am not sure how to go about troubleshooting this error. I am new to creating plug-ins and I don't know what steps I should take. I have not heard of any problems from any others who have downloaded this plug-in, however, only a small number of people have downloaded the plug-in, so I may not be hearing about problems that may occur.

What should I do to make sure that users do not recieve errors? If it helps, my plug-in can be downloaded here: http://www.batchframe.com/extras/download/de_compose.zip

Thanks for any help,

Jesse Toula

How to get the return value after executing the script?

$
0
0

Hi All,

          I'm running a script form AEGP using AEGP_ExecuteScript(). I want the value(in my case a string) which is returned from the script.

 

AEGP_ExecuteScript ( AEGP_PluginID inPlugin_id,

const A_char* inScriptZ,

const A_Boolean platform_encodingB,

AEGP_MemHandle *outResultPH0,

AEGP_MemHandle *outErrStringPH0);

 

I tried passing a MemHandle to outResultPH0, but the values returned are junk.

 

Is it possible to get the return value from the script?

 

Thanks,

Dheeraj

how to access info in Render queue ?

$
0
0

Hello,

 

I want to access the After Effects comp names  and associated frames in the 'Render Queue' form.*

 

Do I need to write a plugin to do this ? If so , can you tell me which object model I would use ? Or could my  program  read the .AEP file ?

 

Also, is there any say to write a after effects plugin C# (I asked yesterday and didn't get a reply)

 

Thanks, Peter

 

* I am doing this inorder to launch a Render Pal Net job


GPU accelerated AE/Premiere Pro plugin development?

$
0
0

Hello All,

 

I'm the developer of a prototype video processing algorithm that is currently a standalone .NET executable.

 

I want to create an After Effects or Premiere Pro compatible plugin version of this algorithm.

 

My questions:

 

1) Should I use the After Effects SDK, or the Premiere Pro SDK to develop this plugin? Does an After Effects plugin run in Premiere Pro as well? Or, conversely, does a Premiere Pro plugin work in After Effects?

 

2) Can an After Effects or Premiere Pro Plugin tap into the power of the GPU? Do I need to learn CUDA/OpenCL for this, or does the Adobe SDK include its own GPU functions?

 

3) Which SDK makes it easier to create a multithreading-capable plugin, so that my plugin uses all CPU cores on a machine?

 

4) Is there a way to get a free developer version of After Effects/Premiere Pro, or do I have to buy the full price products to develop plugins for them?

 

 

Thanks for any help/answers!

Effect duration - AE filter in Premiere

$
0
0

I am working on filter plugin for AE and Premiere where I need to know the effect duration. in_data->total_time corresponds to the total clip duration, not the effect duration. If the clip is trimmed at start/end total_time not match the effect duration.

AEGP_GetLayerDuration return the right value in AE, but not works in Premiere.

AEGP_LayerH currentLayer;

A_Time layerDuration;

ERR(suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(in_data->effect_re f, &currentLayer));

ERR(suites.LayerSuite1()->AEGP_GetLayerDuration(currentLayer, AEGP_LTimeMode_LayerTime, &layerDuration));

 

Is there a way to get the effect duration in Premiere?

 

Thanks.

Deleting all keyframes

$
0
0

What is the best way to delete all keyframes of a stream? Calling KeyframeSuite3()->AEGP_DeleteKeyframe for every key works, but takes quite a bit of time. I was hoping to just virtually toggle the 'stopwatch' button, but I can't seem to find the API for that.

 

Any ideas?

.shape4ae Track Data

$
0
0

Hey everyone,

 

Since this is kind of an unusual Question that doesn't fit in any category I'm not sure if this is the right place to post it, but I figured that the SDK Developer Community is the one that can come up with an answer for my problem most probably.

 

I'm a student of Computer Vision and currently working on a Project where I need some tracking data. Since our University has some licenses of Mocha for AE I want to try to import the data from the exported .shape4ae files.

I have currently a hard time figuring out how After Effects handles Transformations. In the .shape4ae File, there are basically two things to be found.

First of all the keyframed data of the shape of the object (e.g. the points for the xspline shape) and secondly and what is more interesting to me the information about how this shape is transformed for every frame.

There are 8 categories of data for every frame:

Translation X, Translation Y, Scale, Rotation, Shear X, Shear Y, Perspective X, Perspective Y

I wonder now how all this data for a single frame can be put in a 3x3 homogenous transformation matrix as can be found here

http://doc.trolltech.com/4.6/qtransform.html

 

It doesn't seem to be straight forward, especially the shearing. For the first frame in the sequence the values are set to perform no transform at all, so:

Translation X = 0

Translation Y = 0

Scale = 1

Rotation = 0

Shear X = 0

Shear Y = 1

Perspective X = 0

Perspective Y = 0

 

The fact that Shear Y is set to 1 makes no sense to me right now. The value should be set to 0 if this would be the value responsible for vertical shearing in a transformation matrix.

I hope that someone here can explain to me how these values are applied to create a transformation frome one point to another in after effects.

If it helps I can post a .shape4ae file in here.

 

Thanks a lot in advance!

struggling to get examples to compile to .dll

$
0
0

I'm very sorry for such a stupid question.  I'm trying to go throught the CS5.5 SDK examples.. but I keep getting the following:

 

 

1>------ Build started: Project: Text_Twiddler, Configuration: Debug x64 ------

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(299,5): warning MSB8004: Output Directory does not end with a trailing slash.  This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath(C:\Program Files\Adobe\Adobe After Effects CS5\Support Files\Plug-ins\Examples\AEGP\Text_Twiddler\Win\..\..\..\..\Text_Twidd ler.dll) does not match the Linker's OutputFile property value (C:\AEGP\Text_Twiddler.aex). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning MSB8012: TargetExt(.dll) does not match the Linker's OutputFile property value (.aex). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

1>  Text_Twiddler.vcxproj -> C:\Program Files\Adobe\Adobe After Effects CS5\Support Files\Plug-ins\Examples\AEGP\Text_Twiddler\Win\..\..\..\..\Text_Twidd ler.dll

1>  Text_Twiddler.vcxproj -> C:\Program Files\Adobe\Adobe After Effects CS5\Support Files\Plug-ins\Examples\AEGP\Text_Twiddler\Win\..\..\..\..\Text_Twidd ler.dll

========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

 

 

I'm using Visual Studio 2010 and After Effects CS5.

 

Thanks

Stephen

Does the After Effects CS6 SDK give access to the new ray-trace 3D engine?

$
0
0

Hi everyone,

 

I looked through the SDK documentation, but I didn't see any hooks into the new AE CS6 raytracing engine.  I see there are "artisan" modules that you can create which will allow you to perform your own rendering, but that's a lot of wheel re-invention that I wasn't planning on getting into, and furthermore, there's a note concerning the fact the interface for artisans will be depreciated in future releases.

 

Does anyone know of any documentation for an API to the new raytracing engine?  Specifically I'm looking to add my own poly objects to a 3D scene for rendering, and possibly provide some simple texture-mapping for them as well.

 

Thanks,

 

Jason

could not locate entrypoint, plug-in developement

$
0
0

Hello,

 

I just started to develop plug-ins for after effects because of a big project in my company, and I experience an issue when I try to use the plug-in I developped whith Visual Studio 2012 and the AE CS6 SDK. AE can't find the entrypoint of the plug-in. Here is the code of my project, if it can help:

 

Warbler.cpp

#include "Warbler.h"

 

 

static PF_Err About (

          PF_InData                    *in_data,

          PF_OutData                    *out_data,

          PF_ParamDef                    *params[],

          PF_LayerDef                    *output )

{

 

 

          PF_SPRINTF(out_data->return_msg, "%s,v%d.%d\r%s",

                    NAME, MAJOR_VERSION, MINOR_VERSION, DESCRIPTION);

 

          return PF_Err_NONE;

}

 

 

static PF_Err GlobalSetup (

          PF_InData                    *in_data,

          PF_OutData                    *out_data,

          PF_ParamDef                    *params[],

          PF_LayerDef                    *output )

{

          PF_Err          err = PF_Err_NONE;

 

 

          // We need to let AE know what version we are:

 

          out_data->my_version =

                    PF_VERSION(MAJOR_VERSION,

                                                                      MINOR_VERSION,

                                                                      BUG_VERSION,

                                                                      STAGE_VERSION,

                                                                      BUILD_VERSION);

 

 

          // We are going to iterate over the output extent,

          // so we need to specify that flag...

 

          out_data->out_flags |=

                    PF_OutFlag_USE_OUTPUT_EXTENT;

 

 

          return err;

}

 

 

static PF_Err ParamsSetup (

          PF_InData                    *in_data,

          PF_OutData                    *out_data,

          PF_ParamDef          *params[],

          PF_LayerDef          *output)

{

          PF_Err                                        err = PF_Err_NONE;

          PF_ParamDef          def;

 

 

          // Always clear out the PF_ParamDef

          // before adding your parameters.

          AEFX_CLR_STRUCT(def);

 

 

          // Create the LAYER parameter...

          def.param_type = PF_Param_LAYER;

          PF_STRCPY(def.name, "Displacement Layer:");

          def.u.ld.dephault = PF_LayerDefault_NONE;

          if (err = PF_ADD_PARAM(in_data, -1, &def))

                    return err;

 

          // Create the ANGLE parameter...

          def.param_type = PF_Param_ANGLE;

          PF_STRCPY(def.name, "Angle of Displacement");

          def.flags = 0;

          def.u.fd.value_str[0] =

                    def.u.fd.value_desc[0] = '\0';

          def.u.fd.value = def.u.fd.dephault = 0;

          def.u.fd.valid_min =

                    def.u.fd.slider_min = ANGLE_MIN;

          def.u.fd.valid_max =

                    def.u.fd.slider_max = ANGLE_MAX;

          def.u.fd.precision = 0;

          def.u.fd.display_flags = 0;

          if (err = PF_ADD_PARAM(in_data, -1, &def))

                     return err;

 

          // Create the DISPLACEMENT SLIDER...

          def.param_type = PF_Param_FIX_SLIDER;

          PF_STRCPY(def.name, "Amount of Displacement");

          def.flags = 0;

          def.u.fd.value_str[0] =

                    def.u.fd.value_desc[0] = '\0';

          def.u.fd.value =

                    def.u.fd.dephault = SHIFT_BLEND_DFLT;

          def.u.fd.valid_min =

                    def.u.fd.slider_min = SHIFT_BLEND_MIN;

          def.u.fd.valid_max =

                    def.u.fd.slider_max = SHIFT_BLEND_MAX;

          def.u.fd.precision = 1;

          def.u.fd.display_flags = 1;          // display as percent

          if (err = PF_ADD_PARAM(in_data, -1, &def))

                    return err;

 

 

          // GAMMA slider...

          AEFX_CLR_STRUCT(def);

          def.param_type = PF_Param_FIX_SLIDER;

          PF_STRCPY(def.name, "Source Gamma");

          def.u.fd.value_str[0] =

                    def.u.fd.value_desc[0] = '\0';

          def.u.fd.value =

                    def.u.fd.dephault = BIAS_DFLT;

          def.u.fd.valid_min =

                    def.u.fd.slider_min = BIAS_MIN;

          def.u.fd.slider_max = BIAS_MAX;

          def.u.fd.valid_max = BIAS_BIG_MAX;

          def.u.fd.precision = 1;

          def.u.fd.display_flags = 0;

          if (err = PF_ADD_PARAM(in_data, -1, &def))

                    return err;

 

 

          // Create the FIXED SLIDER parameter...

          def.param_type = PF_Param_FIX_SLIDER;

          PF_STRCPY(def.name, "Blend With Original");

          def.flags = 0;

          def.u.fd.value_str[0] =

                    def.u.fd.value_desc[0] = '\0';

          def.u.fd.value =

                    def.u.fd.dephault = SHIFT_BLEND_DFLT;

          def.u.fd.valid_min =

                    def.u.fd.slider_min = SHIFT_BLEND_MIN;

          def.u.fd.valid_max =

                    def.u.fd.slider_max = SHIFT_BLEND_MAX;

          def.u.fd.precision = 1;

          def.u.fd.display_flags = 1;          // display as percent

          if (err = PF_ADD_PARAM(in_data, -1, &def))

                    return err;

 

 

          // Set number of parameters...

          out_data->num_params = SHIFT_NUM_PARAMS;

 

 

          return err;

}

 

 

static PF_Err GlobalSetdown (

          PF_InData                    *in_data,

          PF_OutData                    *out_data,

          PF_ParamDef          *params[],

          PF_LayerDef          *output )

{

          return PF_Err_NONE;

}

 

 

static PF_Err Render (

          PF_InData                    *in_data,

          PF_OutData                    *out_data,

          PF_ParamDef                    *params[],

          PF_LayerDef                    *output )

{

          PF_Err                                        err = PF_Err_NONE;

          return err;

}

 

 

 

 

 

 

PF_Err EntryPointFunc (

          PF_Cmd                                        cmd,

          PF_InData                    *in_data,

          PF_OutData                    *out_data,

          PF_ParamDef          *params[],

          PF_LayerDef          *output,

          void                                                  *extra )

{

          PF_Err                    err = PF_Err_NONE;

 

          switch (cmd) {

          case PF_Cmd_ABOUT:

                    err = About(in_data,out_data,params,output);

                    break;

          case PF_Cmd_GLOBAL_SETUP:

                    err = GlobalSetup(in_data,out_data,params,output);

                    break;

          case PF_Cmd_PARAMS_SETUP:

                    err = ParamsSetup(in_data,out_data,params,output);

                    break;

          case PF_Cmd_GLOBAL_SETDOWN:

                    err = GlobalSetdown(in_data,out_data,params,output);

                    break;

          case PF_Cmd_RENDER:

                    err = Render(in_data,out_data,params,output);

                    break;

          default:

                    break;

          }

 

 

          return err;

}

 

 

 

Warbler.h

// INCLUDES

#include "AE_EffectCB.h"

#include "AE_Macros.h"

#include "entry.h"

 

// DEFINES

#define          NAME          "Warbler"

#define          MAJOR_VERSION                    1

#define          MINOR_VERSION                    0

#define          BUG_VERSION                              0

#define          STAGE_VERSION                    PF_Stage_RELEASE

#define          BUILD_VERSION                    1

 

 

#define LONG2FIX(x) (((long)x)<<16)

#define LUMA(p) \

          (double)(p->red + 2*p->green + p->blue)/(255. * 4.)

#define bias(a,b) \

          PF_POW( (a), PF_LOG(b) / PF_LOG(0.5) )

 

#define ANGLE_MIN                    (-180L << 16)

#define ANGLE_MAX                    ( 180L << 16)

#define          BIAS_MIN                    (655)          // 0.01 Fixed

#define          BIAS_MAX                    (1L << 16)

#define          BIAS_BIG_MAX          (10L << 16)

#define          BIAS_DFLT                    (6553*5) // about 0.5 Fixed

#define          SHIFT_BLEND_MIN          0L

#define          SHIFT_BLEND_MAX          (1L << 16)

#define          SHIFT_BLEND_DFLT 0L

 

 

// PARAMETER DEFINITION CONSTANTS

enum {

          BASE=0,

          DISP_LAYER,

          DISP_ANGLE,

          SHIFT_DISPLACE_AMT,

          SHIFT_GAMMA,

          SHIFT_BLEND,

          SHIFT_NUM_PARAMS

};

 

 

#define DESCRIPTION          \

"Displacement mapping based on luminance."

 

 

PF_Err EntryPointFunc (

          PF_Cmd                                        cmd,

          PF_InData                    *in_data,

          PF_OutData                    *out_data,

          PF_ParamDef          *params[],

          PF_LayerDef          *output,

          void                                                  *extra );

 

 

 

WarblerPiPL.r

#include "AEConfig.h"

#include "AE_EffectVers.h"

 

 

#ifndef AE_OS_WIN

          #include <AE_General.r>

#endif

 

resource 'PiPL' (16000) {

          {          /* array properties: 12 elements */

                    /* [1] */

                    Kind {

                              AEEffect

                    },

                    /* [2] */

                    Name {

                              "Warbler"

                    },

                    /* [3] */

                    Category {

                              "Sample Plug-ins"

                    },

#ifdef AE_OS_WIN

          #ifdef AE_PROC_INTELx64

                    CodeWin64X86 {"EntryPointFunc"},

          #else

                    CodeWin32X86 {"EntryPointFunc"},

          #endif

#else

          #ifdef AE_OS_MAC

                    CodeMachOPowerPC {"EntryPointFunc"},

                    CodeMacIntel32 {"EntryPointFunc"},

                    CodeMacIntel64 {"EntryPointFunc"},

          #endif

#endif

                    /* [6] */

                    AE_PiPL_Version {

                              2,

                              0

                    },

                    /* [7] */

                    AE_Effect_Spec_Version {

                              PF_PLUG_IN_VERSION,

                              PF_PLUG_IN_SUBVERS

                    },

                    /* [8] */

                    AE_Effect_Version {

                              524289          /* 1.0 */

                    },

                    /* [9] */

                    AE_Effect_Info_Flags {

                              0

                    },

                    /* [10] */

                    AE_Effect_Global_OutFlags {

                    0x02000000 //50332160

 

 

                    },

                    AE_Effect_Global_OutFlags_2 {

                    0x00000000

                    },

                    /* [11] */

                    AE_Effect_Match_Name {

                              "ADBE Warbler"

                    },

                    /* [12] */

                    AE_Reserved_Info {

                              0

                    }

          }

};

 

 

 

This plug-in is made by following the tutorial of Kas Thomas.

http://www.mactech.com/articles/mactech/Vol.15/15.09/AfterEffectsPlugi ns/index.html

 

Any idea of where can be the problem? I tried to find some doc on the PiPLs but so far, nothing really interesting...


Getting project settings from an .aep file

$
0
0

Hi there,

I am developing a very simple cocoa-applescript application to control a renderfarm. Actually, I already finished and it works. But now I am trying to make it smoother. I'd like to get basic information (start rendering frame, end rendering frame, output path, etc) directly from the .aep binary file. I was reading parts of the SDK docs and I'd say I should focus on the AEGPs, but I am not sure if that would work from my appplication.

 

So to make it short, is it actually posible to get info from an .aep binary file outside After Effects?

Thanks!

Parameter distribution changed - slider remained

$
0
0

Hello,

 

I've faced a problem with changing a parameter range but haven't found solution on the forum. For example, the parameter is called 'Object X shift'. Firstly I had this parameter with the range of [-10; 10]. And I saved a project with this version of plugin. The newer plugin version has Object X shift with same parameter ID, but the range is set from 0 to 20. When I now open a project with the older effect version, I can change the parameter value from 0 to 20, but the slider remains in [-10; 10]  (see the picture in attach). So it looks rather weird for a user.

 

The only solution I've found was changing the ID of new 'Object X shift' so it became a new parameter. Then there are no problems with a slider. But in this case old projects are bringing the parameter value to default one. Could you please tell me if there is another solution of the problem?

Params_distribution.png

getting an effect's name.

$
0
0
I know that in order to get an effetcs instance name I must use GetStreamName(). (the name as set by the user, not the default name)
but how do I get a stream reff for an effect?
I only know how to get the stream reff for a stream within an effect.

though the calm tone, this is a desperate man writing.
any help will be appreciated.
:-)

After Effects error : layer does not have a source.

$
0
0

Hi All,

          I add a Text layer and then add my custom fill  effect to it. Then I call AdvItemSuite1()->PF_ForceRerender(in_data, &(params[0]->u.ld)) from AEGP for all the layers. But only for Text layer, AE pops up a dialog displaying the following error :

 

After Effects error : layer does not have a source.

(26::335)

 

Why is this happening? What other call can I use to rerender all the layers?

 

Thanks & Regards,

Dheeraj

Is this possible to access arbitrary frame and to modify the mask?..

$
0
0

Sorry for a bit messy discussion title. Please, let me explain.

 

I have some experience in implementing video processing algorithms, but as our own software and never under AE. Now there is an idea to implement something for AE and first of all, I'm curious, if this is possible at all.

 

1) When processing the n-th frame, I need the full access to the data of (n-k)-th and (n+k)-th. Is this possible to do in general case? Or the only variant is to implement frames buffering during the first pass?

 

2) Our algorithm uses the mask as one of the inputs. But in contrary to the usual case, mask does not define an area of interest. In any case the full frame is processed, but the processing differs for different regions, depending on mask. In our software, it works like this: user defines a mask (and some parameters). Then effect is slightly modifying (let say – refining) the mask during the render and renders final images. After this user can modify the mask somehow again if he/she is not satisfied with what algorithm has done. Can I produce the same workflow in AE? The only way is using a drawbot (this means CS 5.5 and higher)? And what if I want masks to be raster images?

The second question in the framework of this one is how to do two video inputs for an effect (first – the video to be processed and second – the mask (grayscale sequence in general case))?

The possible workflow is that user provides trivial mask – lets say, the black solid. But even during the first pass effect should produce the mask, according to its sight to the video – so, it should somehow substitute the black solid with the sequence on black'n'white images. Is this all possible in AE?

 

3) Is this possible (should be, I guess) to implement multipass algorithms? How the preview works then, if I need, for example, to pass all the video length 3-4 times, to produce the final render?

 

I can expect that all this is solvable in AE, but may be experienced users could be so kind to give me some basic recommendation on how to do this. Looking through the PDF, which accompanies the SDK has not allowed to come to a distinct answer for the question: is this possible or not. So, I rely on your consultation.

Viewing all 73444 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>