# ImageDecoder.Factory

# ImageDecoder.Factory

Artifact:[androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3)  
[View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/image/ImageDecoder.java+class:androidx.media3.exoplayer.image.ImageDecoder.Factory)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/exoplayer/image/ImageDecoder.Factory "View this page in Java")

<br />

```
interface ImageDecoder.Factory
```

<br />

Known direct subclasses  
[BitmapFactoryImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/BitmapFactoryImageDecoder.Factory),[ExternallyLoadedImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ExternallyLoadedImageDecoder.Factory)  

|-------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [BitmapFactoryImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/BitmapFactoryImageDecoder.Factory)       | A factory for[BitmapFactoryImageDecoder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/BitmapFactoryImageDecoder)instances.                                                                                                                         |
| [ExternallyLoadedImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ExternallyLoadedImageDecoder.Factory) | A[ImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder.Factory)for[ExternallyLoadedImageDecoder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ExternallyLoadedImageDecoder)instances. |

*** ** * ** ***

A factory for image decoders.

## Summary

|                                                             ### Constants                                                              |
|----------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `const `[ImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder.Factory)`!` | [DEFAULT](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder.Factory#DEFAULT()) **This property is deprecated.** Instantiate a[BitmapFactoryImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/BitmapFactoryImageDecoder.Factory)directly. <br /> |

|                                              ### Public functions                                              |
|----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [ImageDecoder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder)`!` | [createImageDecoder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder.Factory#createImageDecoder())`()` Creates a new[ImageDecoder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder).                                                                                                                                                                                                                                                                                                                                                                                                                            |
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                    | `@`[RendererCapabilities.Capabilities](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities) [supportsFormat](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder.Factory#supportsFormat(androidx.media3.common.Format))`(format: `[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format)`!)` Returns the highest[Capabilities](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities)of the factory's decoders for the given[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format). |

## Constants

### DEFAULT

```
const val DEFAULT: ImageDecoder.Factory!
```
| **This property is deprecated.**   
|
Instantiate a[BitmapFactoryImageDecoder.Factory](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/BitmapFactoryImageDecoder.Factory)directly.  

## Public functions

### createImageDecoder

```
fun createImageDecoder(): ImageDecoder!
```

Creates a new[ImageDecoder](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/image/ImageDecoder).  

### supportsFormat

```
@RendererCapabilities.Capabilities
fun supportsFormat(format: Format!): Int
```

Returns the highest[Capabilities](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities)of the factory's decoders for the given[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format).  

|                                             Parameters                                              |
|-----------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| `format: `[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format)`!` | The[Format](https://developer.android.com/reference/kotlin/androidx/media3/common/Format). |

|                                   Returns                                   |
|-----------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | The[Capabilities](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/RendererCapabilities.Capabilities)of the decoders the factory can instantiate for this format. |