EyeQ Docs
Api reference

Android API reference

Complete API reference for the Video Mobile SDK on Android.

This reference documents all public classes, methods, and types in the Android Video Mobile SDK.

DynamicProcessor

The core class for image and video processing.

class DynamicProcessor(context: Context)

Initialize the SDK

Methods for setting up the SDK and verifying license status.

setLicence

Configures the SDK license.

fun setLicence(apiKey: String?, cert: String?, recreate: Boolean = false)
ParameterTypeDescription
apiKeyString?Your API key from EyeQ
certString?Your certificate string
recreateBooleanSet true to reinitialize with new credentials

init

Initializes the processing engine.

fun init(useGpu: Boolean)
ParameterTypeDescription
useGpuBooleantrue for GPU acceleration, false for CPU

Call on a background thread. Initialization may take several seconds.

isInitialized

Property that indicates if the processor is ready.

var isInitialized: Boolean

Returns: true if initialized and ready for processing.

checkCertificate

Validates a license certificate.

fun checkCertificate(apiKey: String, cert: String): Int
ParameterTypeDescription
apiKeyStringAPI key to validate
certStringCertificate to validate

Returns: Positive value = days remaining, -1 = expired, -2 = wrong apikey/certificate combination, -10 or -11 = missing manager.

getDaysLeft

Returns remaining days on the license.

fun getDaysLeft(): Int

Returns: Number of days until license expires.

isDelegateSupported

Checks if GPU delegate is supported on the current device.

fun isDelegateSupported(): Boolean

Returns: true if GPU acceleration is supported.

Image processing

Methods for processing still images at different quality levels.

processImage

Processes an image at full resolution.

fun processImage(bitmap: Bitmap, strength: Float = 1.0f): Bitmap
ParameterTypeDescription
bitmapBitmapSource image
strengthFloatCorrection intensity (0.0–1.0), defaults to 1.0

Returns: Processed Bitmap at original resolution.

processImagePreview

Processes an image optimized for preview display.

fun processImagePreview(bitmap: Bitmap, strength: Float = 1.0f): DynamicOutputs
ParameterTypeDescription
bitmapBitmapSource image
strengthFloatCorrection intensity (0.0–1.0), defaults to 1.0

Returns: DynamicOutputs for use with DynamicView. Faster than processImage but for preview only.

Video processing

Methods optimized for real-time video frame processing with temporal consistency.

processCameraFrame

Processes a live camera frame.

fun processCameraFrame(bitmap: Bitmap, strength: Float): DynamicOutputs
ParameterTypeDescription
bitmapBitmapCamera frame as bitmap
strengthFloatCorrection intensity (0.0–1.0)

Returns: DynamicOutputs for use with DynamicView.

consumePlayerFrame

Feeds a video player frame for deflicker averaging. Call this before processPlayerFrame.

fun consumePlayerFrame(frameBuffer: ByteBuffer)
ParameterTypeDescription
frameBufferByteBufferBuffer of frame from video player

processPlayerFrame

Processes a video player frame. Must call consumePlayerFrame first to provide the frame data.

fun processPlayerFrame(strength: Float = 1.0f): DynamicOutputs
ParameterTypeDescription
strengthFloatCorrection intensity (0.0–1.0), defaults to 1.0

Returns: DynamicOutputs for use with DynamicView.

processTranscoderFrame

Processes a frame during video transcoding.

fun processTranscoderFrame(frameBuffer: ByteBuffer, strength: Float = 1.0f): DynamicOutputs
ParameterTypeDescription
frameBufferByteBufferBuffer of frame from transcoder
strengthFloatCorrection intensity (0.0–1.0), defaults to 1.0

Returns: DynamicOutputs for use with DynamicView.

Deflickering

Methods for configuring temporal smoothing to prevent flickering in video.

setDeflickerParams

Configures temporal smoothing for video.

fun setDeflickerParams(frames: Int, curveAvg: Float, imgAvg: Float)
ParameterTypeDescription
framesIntNumber of frames to skip between inferences
curveAvgFloatTone curve smoothing, 0–1 (recommended: 0.08)
imgAvgFloatImage correction smoothing, 0–1 (recommended: 0.9)

resetDeflicker

Resets the deflickering state. Call when switching cameras, starting a new video, or seeking.

fun resetDeflicker()

Benchmarking

Attach a listener to monitor processing performance and identify bottlenecks.

setBenchListener

Sets a listener for performance benchmarking.

fun setBenchListener(listener: EyeQBenchListener)
ParameterTypeDescription
listenerEyeQBenchListenerListener to receive benchmark callbacks

DynamicView

OpenGL-based view for efficient preview rendering.

class DynamicView : GLSurfaceView

Setup

Methods for configuring the view with image data and correction parameters.

setBitmap

Sets the source image for display.

fun setBitmap(bitmap: Bitmap)

setParams

Configures the correction parameters from processing output.

fun setParams(global: FloatArray, local: FloatArray, fusion: FloatArray)

Rendering

Methods for triggering display updates and capturing results.

requestRender

Triggers a render update.

fun requestRender()

getResultBitmap

Captures the current rendered result.

fun getResultBitmap(): Bitmap

Adjustments

Methods for modifying the display without reprocessing the image.

setStrength

Adjusts correction intensity without reprocessing.

fun setStrength(strength: Float)

setRotation

Applies rotation to the displayed image.

fun setRotation(rotation: TextureRotation)

setFlipHorizontal / setFlipVertical

Flips the image.

fun setFlipHorizontal(flip: Boolean)
fun setFlipVertical(flip: Boolean)

setBenchListener

Sets a listener for rendering performance benchmarking.

fun setBenchListener(listener: ImageBenchListener)

Data types

Data structures and enumerations used throughout the SDK.

DynamicOutputs

Output data from preview and video processing.

data class DynamicOutputs(
    var global: FloatArray,
    var local: FloatArray,
    var fusion: FloatArray,
    var lut: FloatBuffer? = null
)
PropertyTypeDescription
globalFloatArrayGlobal correction parameters
localFloatArrayLocal correction parameters
fusionFloatArrayFusion parameters
lutFloatBuffer?Optional lookup table

TensorflowDelegate

Hardware acceleration options.

enum class TensorflowDelegate {
    CPU,
    GPU,
    NNAPI
}

TextureRotation

Image rotation options for DynamicView.

enum class TextureRotation {
    NORMAL,
    ROTATION_90,
    ROTATION_180,
    ROTATION_270
}

ImageScaleType

Image scaling behavior in DynamicView.

enum class ImageScaleType {
    CENTER_CROP,
    CENTER_INSIDE
}

Benchmarking interfaces

Interfaces for monitoring SDK performance.

EyeQBenchListener

Listener for DynamicProcessor benchmarking.

interface EyeQBenchListener {
    fun onDynamic(bench: BenchDynamic)
    fun onEgl(bench: BenchEgl)
    fun onDeflicker(consumeTime: Long)
}

BenchDynamic

Processing benchmark data.

data class BenchDynamic(
    var scaleTime: Long,
    var readFromBitmap: Long,
    var normalizeTime: Long,
    var inferenceTime: Long,
    var adjustTime: Long
)

BenchEgl

EGL rendering benchmark data.

data class BenchEgl(
    val textureTime: Long,
    val renderTime: Long,
    val readTime: Long,
    val releaseTime: Long
)

ImageBenchListener

Listener for DynamicView benchmarking.

interface ImageBenchListener {
    fun onLoadTexture(time: Long)
    fun onRender(time: Long)
    fun onReadPixels(time: Long)
}

Utility classes

Helper classes for common tasks when working with camera frames and image data.

YuvToRgbConverter

Converts YUV camera frames to RGB bitmaps.

class YuvToRgbConverter(context: Context)

yuvToRgb

Converts a YUV image to RGB bitmap.

fun yuvToRgb(image: Image, output: Bitmap)

forPreview

Creates a converter optimized for preview.

fun forPreview(): YuvToRgbConverter

VIDEO-SDK Version 1.0.0.23 built from aa5eef97017e23db1d3051b079500606825ef474 on 5-6-2023.

Copyright © 2026 EyeQ Imaging Inc. All rights reserved.

On this page