MCPcopy Create free account
hub / github.com/Tencent/libpag / GetLayerRenderFrame

Function GetLayerRenderFrame

exporter/src/utils/AEHelper.cpp:157–177  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

155}
156
157void GetLayerRenderFrame(uint8* rgbaBytes, A_u_long srcStride, A_u_long dstStride, A_long width,
158 A_long height, AEGP_LayerRenderOptionsH& renderOptions) {
159 if (rgbaBytes == nullptr || width <= 0 || height <= 0 || srcStride <= 0 || dstStride <= 0) {
160 return;
161 }
162 Suites->LayerRenderOptionsSuite2()->AEGP_SetWorldType(renderOptions, AEGP_WorldType_8);
163 Suites->LayerRenderOptionsSuite2()->AEGP_SetDownsampleFactor(renderOptions, 1, 1);
164
165 AEGP_FrameReceiptH frameReceipt;
166 Suites->RenderSuite5()->AEGP_RenderAndCheckoutLayerFrame(renderOptions, nullptr, nullptr,
167 &frameReceipt);
168
169 AEGP_WorldH imageWorld;
170 Suites->RenderSuite5()->AEGP_GetReceiptWorld(frameReceipt, &imageWorld);
171
172 PF_Pixel* pixels = nullptr;
173 Suites->WorldSuite3()->AEGP_GetBaseAddr8(imageWorld, &pixels);
174
175 exporter::ConvertARGBToRGBA(&(pixels->alpha), width, height, srcStride, rgbaBytes, dstStride);
176 Suites->RenderSuite5()->AEGP_CheckinFrame(frameReceipt);
177}
178
179void GetLayerRenderFrameSize(AEGP_LayerRenderOptionsH& renderOptions, A_u_long& stride,
180 A_long& width, A_long& height) {

Callers 1

GetVideoLayerRenderImageFunction · 0.85

Calls 1

ConvertARGBToRGBAFunction · 0.85

Tested by

no test coverage detected