# lcms

This is a color management plugin that uses LittleCMS 2 to correct frames using the given ICC (International Color Consortium) profiles. Falls back to internal sRGB profile if no ICC file is specified in property.

## Example launch line

(write everything in one line, without the backslash characters)

     gst-launch-1.0 filesrc location=photo_camera.png ! pngdec ! \
     videoconvert ! lcms input-profile=sRGB.icc dest-profile=printer.icc ! \
     pngenc ! filesink location=photo_print.png

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──GstVideoFilter
                            ╰──lcms

## Factory details

Authors: – Andreas Frisch <fraxinas@opendreambox.org></fraxinas@opendreambox.org>

Classification: – `Filter/Effect/Video`

Rank – none

Plugin – colormanagement

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    video/x-raw:
             format: { ARGB, BGRA, ABGR, RGBA, xRGB, RGBx, xBGR, BGRx, RGB, BGR }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – sink

Object type – GstPad

### `src`

    video/x-raw:
             format: { ARGB, BGRA, ABGR, RGBA, xRGB, RGBx, xBGR, BGRx, RGB, BGR }
              width: [ 1, 2147483647 ]
             height: [ 1, 2147483647 ]
          framerate: [ 0/1, 2147483647/1 ]

Presence – always

Direction – src

Object type – GstPad

## Properties

### dest-profile

    “dest-profile” gchararray

Specify the destination ICC profile file to apply

Flags : Read / Write

Default value : NULL

### embedded-profile

    “embedded-profile” gboolean

Extract and use source profiles embedded in images

Flags : Read / Write / Construct

Default value : true

### input-profile

    “input-profile” gchararray

Specify the input ICC profile file to apply

Flags : Read / Write

Default value : NULL

### intent

    “intent” GstLcmsIntent *

Select the rendering intent of the color correction

Flags : Read / Write / Construct

Default value : perceptual (0)

### lookup

    “lookup” GstLcmsLookupMethod *

Select the caching method for the color compensation calculations

Flags : Read / Write / Construct

Default value : cached (2)

### preserve-black

    “preserve-black” gboolean

Select whether purely black pixels should be preserved

Flags : Read / Write / Construct

Default value : false

## Named constants

### GstLcmsIntent

#### Members

`perceptual` (0) – Perceptual
`relative` (1) – Relative Colorimetric
`saturation` (2) – Saturation
`absolute` (3) – Absolute Colorimetric

### GstLcmsLookupMethod

#### Members

`uncached` (0) – Uncached, calculate every pixel on the fly (very slow playback)
`precalculated` (1) – Precalculate lookup table (takes a long time getting READY)
`cached` (2) – Calculate and cache color replacement values on first occurrence

The results of the search are