internal static void SetImageFx(this MMALCameraComponent camera, MMAL_PARAM_IMAGEFX_T imageFx)
        {
            MMALLog.Logger.Debug($"Setting Image FX: {imageFx}");

            MMAL_PARAMETER_IMAGEFX_T imgFx = new MMAL_PARAMETER_IMAGEFX_T(new MMAL_PARAMETER_HEADER_T(MMAL_PARAMETER_IMAGE_EFFECT, Marshal.SizeOf <MMAL_PARAMETER_IMAGEFX_T>()),
                                                                          imageFx);

            MMALCheck(MMALPort.mmal_port_parameter_set(camera.Control.Ptr, &imgFx.hdr), "Unable to set image fx");
        }
        public static MMAL_PARAM_IMAGEFX_T GetImageFx(this MMALCameraComponent camera)
        {
            MMAL_PARAMETER_IMAGEFX_T imgFx = new MMAL_PARAMETER_IMAGEFX_T(new MMAL_PARAMETER_HEADER_T(MMAL_PARAMETER_IMAGE_EFFECT, Marshal.SizeOf <MMAL_PARAMETER_IMAGEFX_T>()),
                                                                          new MMAL_PARAM_IMAGEFX_T());

            MMALCheck(MMALPort.mmal_port_parameter_get(camera.Control.Ptr, &imgFx.hdr), "Unable to get image fx");

            return(imgFx.Value);
        }