# Advanced Multimedia Supplements

In computing, the Advanced Multimedia Supplements (also JSR-234 or AMMS) is an API specification for the Java ME platform. Practically speaking, it is an extension to JSR 135 Mobile Media API providing new features, such as positional 3D audio processing, audio and video effects processing, better controls for digital camera, and better support for analog radio tuner including Radio Data System. AMMS was developed under the Java Community Process as JSR 234.

## Features and profiles

JSR-234 defines six feature sets, namely Media Capabilities, and each define minimum implementation requirements in order to try to avoid fragmentation and to define a common minimal base line for the implementations. Every JSR-234 implementation must support at least one Media Capability. The six Media Capabilities are described in the table below.
| Media Capability | Description |
| Music Capability | Music Capability mandates equalizer and audio level control for the main mix of the application. |
| 3D Audio Capability | 3D Audio Capability mandates support for at least one simultaneous 16 kHz / 16 bits 3D audio sound source and for a global reverberator. Distance attenuation behavior and location control must be supported for the sound source. |
| Camera Capability | Camera Capability mandates support for controlling zoom, flash, focus and burst shooting properties of the main camera of the device (to the extent the camera hardware supports them). It also mandates JPEG encoding for the photos. |
| Image Encoding Capability | Image Encoding Capability mandates transcoding of Image objects into JPEGs. |
| Image Post-processing Capability | Image Post-processing Capability is a proper super set of Image Encoding Capability. In addition, Image Post-processing Capability mandates image processing effects (like monochrome and negative), image transformations like mirroring and cropping, and setting of overlays on top of the original image. Furthermore, JPEG to JPEG image processing must be possible. |
| Tuner Capability | Tuner Capability mandates support for normal FM/AM radio controls like tuning, seeking, squelch, stereo mode, signal strength query and preset. RDS is not mandated. |

### Optional features

In addition to the Media Capabilities, the device is free to support any of the optional features including:
* controlling additional 3D audio features such as Doppler, size of the source (macroscopicity), directivity and obstruction
* controlling additional audio effects such as chorus and channel virtualization (including stereo widening)
* audio panning
* detailed exposure settings for the camera
* brightness, contrast and gamma settings
* whitebalance
* setting the processing order of the audio and video effects
* setting priorities for the players
* MIDI channel specific effects
* RDS

## Versions

* 1.0 2005-05-17
* 1.1 2007-02-28 (contains only minor bug fixes and some additional clarifications; no new features or functionality)

## Implementations
### Mobile devices

* Nokia Series 40 devices (5th Edition: 3D Audio and Music Capabilities; 6th Edition: Camera Capability controls for Camera, Flash, Focus, Snapshot and Zoom)
* Nokia S60 devices (since 3rd Edition, Feature Pack 1) (3D Audio and Music Capabilities only)
* Sony Ericsson devices (JP-7: Camera Capability only; since JP-8: all areas)

### Emulators

* JSR-234 Reference Implementation (all Media Capabilities)
* Nokia Prototype SDK (all Media Capabilities)
* Series 40 5th and 6th Edition SDKs
* S60 SDKs
* Sun Java Wireless Toolkit

### Chipsets and engines

There are also implementations targeted mainly for mobile device manufacturers.

## Other APIs for similar purposes

* OpenSL ES - for 3D audio and audio effects processing via a C-language API
* OpenMAX AL - for camera controlling and analog radio via a C-language API