Highlighted

AE plugin SDK questions

Community Beginner ,
Jun 27, 2020

Copy link to clipboard

Copied

Hi,
the documentation of the sdk are funny but often not very good and detailed.
Can someone tell me how I could achive the following:

1. sample a pixel as average of an area. Just like a gauss filtered or downsampled image.
2. write a pixel also smeared like gaussion blur to the output image.

The filtering is not that imporant, but simply read an write images. There are some macros and some functions but I could find the simple ones.

Thanks Thomas

TOPICS
SDK

Views

126

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

AE plugin SDK questions

Community Beginner ,
Jun 27, 2020

Copy link to clipboard

Copied

Hi,
the documentation of the sdk are funny but often not very good and detailed.
Can someone tell me how I could achive the following:

1. sample a pixel as average of an area. Just like a gauss filtered or downsampled image.
2. write a pixel also smeared like gaussion blur to the output image.

The filtering is not that imporant, but simply read an write images. There are some macros and some functions but I could find the simple ones.

Thanks Thomas

TOPICS
SDK

Views

127

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Jun 27, 2020 0
Adobe Community Professional ,
Jun 28, 2020

Copy link to clipboard

Copied

take a look at "Shifter" sample project. it demonstrates both image sampling and writing data into the output buffer.

PF_SamplingSuite and PF_BatchSamplingSuite provide tools for reading the average color of an area. 

if you wish to implement your own piexl read;/write data, take a look at the "CCU" sample project where the pixel data is accessed directly in ram.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jun 28, 2020 0
Community Beginner ,
Jul 08, 2020

Copy link to clipboard

Copied

Hi,
thank you. That helps a little.

But where can I found documentations about functions like area_sample. Which params etc.

Thomas

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 08, 2020 0
Adobe Community Professional ,
Jul 08, 2020

Copy link to clipboard

Copied

you can find the info either in the AE SDK at https://ae-plugin-sdk-guide.readthedocs.io/, or by looking in AE's SDK source files. usually there's information where the suite calls are defined.

if neither places have the relevant info, then perhaps the samples that demonstrate the calls have it.

otherwise, you'll need to either experiment, or ask here in the forum.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jul 08, 2020 0
Community Beginner ,
Aug 07, 2020

Copy link to clipboard

Copied

Hi,

I am a good way further now. Building a first real plugin.
But I have some additinal questions.

1. Can I mix 8bit and 16bit worlds. Or can I use 16bit worlds to processes even in 8bit rendering?
Its seems to work with copy but not with copy_hd.

2. How can I avoid normalization of kernels of convolute? Say I have a simple 1D kernel 127, 255, 127 and a black image with one white pixel than I expect the pixel of the white pixel still white (multiplied by 1) and its surrounding pixels gray. But instead (I tried constants and everything) I got a pixel 127 and surrounded by  63 gray so that the sum is 255. Just like normal gaussion blur. But I dont want this. I want extend the white pixels. My workaround is to scale them in a iterate function by this factor and own clipping.

3. this leads to another problem. 8bit worlds seem to work with 8 bit only inside. I hoped there is 16 or 32 bit processing internally. I got nasty clipping every time I extend the range 0 - 255. Thats why I want 16 bit worlds to do processings like convolve.

4. How can I iterate only over specific pixels? Say every 5th pixel in every 3rd row? For instance to draw a grid or something. I can put the logic in the iterate callback functions and skip any other pixel. Buts its not nice.

5. When I put the plugin on one sequence or one layer than for every frame in this sequences a specific calculation has to be done, based on the calculation of the preceeding frames. I oversimplify: the first frame should get a red pixel at (0,0), the second on (1,0) and so on. I dont want to dig in the time values. I hope I can figure it out. But were do I put the logic? Maybe a c++ class instance that exists only for this sequence.
Where to put it that it lives? In sequencedata? I am dealing with random numbers (vectors) and 2d-interpolations, so thats not as easy as take the framenumber and calculate it for each frames. I need to know, what was calculated in the neighbour frames.

Any tips are appreciated.

Thanks
Thomas



 

 

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 07, 2020 0