    if (!pluginFrame)
        return;

    if (firstRun) {
        // IMPLEMENT CODE TO CONFIGURE
        // VARIABLES UPON FIRST RUN
        firstRun = false;
    }

    AVFrame* processedFrame{};

    // IMPLEMENT PROCESS

    if (processedFrame) {
        moveFrom(pluginFrame, processedFrame);
        av_frame_unref(processedFrame);
        av_frame_free(&processedFrame);
    }