OperationConstant (Media Authoring with Java API)
Date: 2016-02-05

tv.amwa.maj.constant

## Interface OperationConstant

- All Known Implementing Classes:
    OperationDefinitionImpl

      public interface OperationConstant

  Implement this interface to access unique identifiers for operations, such as the video and audio effects defined by the AAF edit protocol. Additional information about each operation appears in the operation description that annotates each AUID constant.

  See the description of managing definitions in the package summary for more details of how to use these constants and dynamically extend the range of supported operations.

  See Also:
    `OperationDescription`, `OperationDefinition`, `TypeDefinitions.OperationDefinitionWeakReference`, `TypeDefinitions.OperationDefinitionStrongReference`, `TypeDefinitions.OperationDefinitionStrongReferenceSet`, `TypeDefinitions.OperationDefinitionWeakReferenceVector`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static AUID` | `Flip` A video flip effect changes the vertical orientation of the image.
    `static AUID` | `FlipFlop` A video flip-flop effect changes the vertical and horizontal orientation of the image, equivalent to a 180 degree rotation of the image.
    `static AUID` | `Flop` A video flop effect changes the horizontal orientation of the image.
    `static AUID` | `MonoAudioDissolve` A dissolve between overlapping audio clips, in which the fade out of the outgoing "A" segment is the mirror image in time of the fade in of the incoming "B" segment, shall be specified using the single-parameter mono audio dissolve effect.
    `static AUID` | `MonoAudioGain` An audio gain effect, specifying how the level of an audio signal is amplified or attenuated over time, shall be specified using the mono audio gain effect.
    `static AUID` | `MonoAudioMixdown` Deprecated. Use effects defined in the AAF edit protocol instead.
    `static AUID` | `MonoAudioPan` An audio pan effect, specifying the left/right balance of mono audio sources in a stereo sound field, shall be specified using the mono audio pan effect.
    `static AUID` | `PictureWithMate` Deprecated. Use effects defined in the AAF edit protocol instead.
    `static AUID` | `SMPTEVideoWipe` Video wipes are simple two-source visual effects as defined by SMPTE 258M.
    `static AUID` | `StereoAudioDissolve` Deprecated. Use effects defined in the AAF edit protocol instead.
    `static AUID` | `StereoAudioGain` Deprecated. Use effects defined in the AAF edit protocol instead.
    `static AUID` | `TwoParameterMonoAudioDissolve` A dissolve between overlapping audio clips, in which the levels of the incoming 'B' segment and outgoing 'A' segment are independently defined, shall be specified using the two-parameter mono audio dissolve effect.
    `static AUID` | `Unknown` Specifies an unknown operation.
    `static AUID` | `VideoAlphaWithinVideoKey` An alpha key effect in which the alpha channel is within the foreground video essence shall be specified using the alpha with video key effect.
    `static AUID` | `VideoChromaKey` A chroma key effect shall be specified using the chroma key effect.
    `static AUID` | `VideoCornerPinning` Image corner pinning shall be specified using the video corner pinning effect.
    `static AUID` | `VideoCrop` Crop operation to remove unwanted image information.
    `static AUID` | `VideoDissolve` A dissolve between overlapping video clips shall be specified using the video dissolve effect.
    `static AUID` | `VideoFadeToBlack` Deprecated. Use effects defined in the AAF edit protocol instead.
    `static AUID` | `VideoFrameToMask` Deprecated. Use effects defined in the AAF edit protocol instead.
    `static AUID` | `VideoLuminanceKey` A luminance key effect where the luminance is determined from the Y or the RGB channels.
    `static AUID` | `VideoPosition` An image move shall be specified using the video position effect.
    `static AUID` | `VideoRepeat` A video frame repeat effect, describing a clip that has a single essence frame as their original source, shall be specified using a video repeat effect.
    `static AUID` | `VideoRotate` Image rotation shall be specified using the video rotate effect.
    `static AUID` | `VideoScale` Image scaling shall be specified using the video scale effect.
    `static AUID` | `VideoSeparateAlphaKey` An alpha key effect in which the alpha channel essence is separate from the video foreground and background essence shall be specified using the separate-alpha key effect.
    `static AUID` | `VideoSpeedControl` A video speed control effect, describing alterations to the playback speed of a clip including forwards and backwards directions, shall be specified using a video speed control effect.

- - ### Field Detail

    - #### VideoDissolve

          @OperationDescription(description="Video Dissolve",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=2,
                                parametersDefined="Level",
                                aliases="Video Dissolve")
          static final AUID VideoDissolve

      A dissolve between overlapping video clips shall be specified using the video dissolve effect.

      The video dissolve effect shall only be used by an operation group within a transition object.

      Operation parameters:

      - `Level` - optional; default is a varying value object with two control points: value 0 at time 0, and value 1 at time 1.

    - #### SMPTEVideoWipe

          @OperationDescription(description="SMPTE Video Wipe",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=2,
                                parametersDefined={"SMPTEWipeNumber","SMPTEReverse","Level"},
                                aliases="SMPTE Video Wipe")
          static final AUID SMPTEVideoWipe

      Video wipes are simple two-source visual effects as defined by SMPTE 258M.

      Video wipe effects that are defined within SMPTE 258M shall be specified using the SMPTE Video Wipe effect.

      The SMPTE Video Wipe effect shall only be used by an operation group within a transition object.

      Operation parameters:

      - `SMPTEWipeNumber` - required; SMPTE Wipe Number as defined in section 7.6.33 of SMPTE 258M.
      - `SMPTEReverse` - optional, default is `false`.
      - `Level` - optional; default is a varying value object with two control points: value 0 at time 0, and value 1 at time 1.

    - #### VideoSpeedControl

          @OperationDescription(description="Video Speed Control",
                                dataDefinition="Picture",
                                isTimeWarp=true,
                                numberInputs=1,
                                bypass=1,
                                parametersDefined="SpeedRatio",
                                aliases="Video Speed Control")
          static final AUID VideoSpeedControl

      A video speed control effect, describing alterations to the playback speed of a clip including forwards and backwards directions, shall be specified using a video speed control effect.

      The video speed control effect shall only be used by an operation group not contained within a transition object.

      Operation parameters:

      - `SpeedRatio` - required; defines the ratio of output length to input length.

    - #### VideoRepeat

          @OperationDescription(description="Video Repeat",
                                dataDefinition="Picture",
                                isTimeWarp=true,
                                numberInputs=1,
                                bypass=1,
                                aliases="Video Repeat")
          static final AUID VideoRepeat

      A video frame repeat effect, describing a clip that has a single essence frame as their original source, shall be specified using a video repeat effect.

      The video repeat effect shall only be used by an operation group not contained within a transition object.

      This operation has no parameters.

    - #### Flip

          @OperationDescription(description="Video Flip",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                bypass=1,
                                aliases="Video Flip")
          static final AUID Flip

      A video flip effect changes the vertical orientation of the image.

      The video flip effect shall only be used by an operation group not contained within a transition object.

      This operation has no parameters.

    - #### Flop

          @OperationDescription(description="Video Flop",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                bypass=1,
                                aliases="Video Flop")
          static final AUID Flop

      A video flop effect changes the horizontal orientation of the image.

      The video flop effect shall only be used by an operation group not contained within a transition object.

      This operation has no parameters.

    - #### FlipFlop

          @OperationDescription(description="Video Flip Flop",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                bypass=1,
                                aliases="Video Flip Flop")
          static final AUID FlipFlop

      A video flip-flop effect changes the vertical and horizontal orientation of the image, equivalent to a 180 degree rotation of the image.

      The video flip-flop effect shall only be used by an operation group not contained within a transition object.

      This operation has no parameters.

    - #### VideoPosition

          @OperationDescription(description="Video Position",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                parametersDefined={"PositionOffsetX","PositionOffsetY"},
                                aliases="Video Position")
          static final AUID VideoPosition

      An image move shall be specified using the video position effect.

      The video position effect shall only be used by an operation group not contained within a transition object.

      Operation parameters:

      - `PositionOffsetX` - optional; default value 0.
      - `PositionOffsetY` - optional; default value 0.

    - #### VideoCrop

          @OperationDescription(description="Video Crop",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                parametersDefined={"CropLeft","CropRight","CropTop","CropBottom"},
                                aliases="Video Crop")
          static final AUID VideoCrop

      Crop operation to remove unwanted image information.

      The video crop effect shall only be used by an operation group not contained within a transition object.

      Crop parameters are specified for the left, right, top and bottom. These values are expressed as a fraction of the original image coordinate space. The operation parameters are:

      - `CropLeft` - optional; default is -1.
      - `CropRight` - optional; default is 1.
      - `CropTop` - optional; default is -1.
      - `CropBottom` - optional; default is 1.

    - #### VideoScale

          @OperationDescription(description="Video Scale",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                parametersDefined={"ScaleX","ScaleY"},
                                aliases="Video Scale")
          static final AUID VideoScale

      Image scaling shall be specified using the video scale effect.

      The video scale effect shall only be used by an operation group not contained within a transition object.

      The required width and height of the image can be represented as fractions of the original image width and height with the result centered about 0,0. The parameters of the operation are:

      - `ScaleX` - optional; default is 1.
      - `ScaleY` - optional; default is 1.

    - #### VideoRotate

          @OperationDescription(description="Video Rotate",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                parametersDefined="Rotation",
                                aliases="Video Rotate")
          static final AUID VideoRotate

      Image rotation shall be specified using the video rotate effect.

      The video rotate effect shall only be used by an operation group not contained within a transition object.

      The rotation of the image about its center is represented by a single parameter scaled 0 to 1 for one complete clockwise rotation. The parameter of the operation is:

      - `Rotation` - required.

    - #### VideoCornerPinning

          @OperationDescription(description="Video Corner Pinning",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1,
                                parametersDefined={"PinTopLeftX","PinTopLeftY","PinTopRightX","PinTopRightY","PinBottomLeftX","PinBottomLeftY","PinBottomRightX","PinBottomRightY"},
                                aliases="Video Corner Pinning")
          static final AUID VideoCornerPinning

      Image corner pinning shall be specified using the video corner pinning effect.

      The video corner pinning effect shall only be used by an operation group not contained within a transition object.

      Image corner pinning uses four pairs of parameters which represent where the corners of the original image have moved to as a fraction of the original image size. These parameters are:

      - `PinTopLeftX` - optional; default is -1.
      - `PinTopLeftY` - optional; default is -1.
      - `PinTopRightX` - optional; default is 1.
      - `PinTopRightY` - optional; default is -1.
      - `PinBottomLeftX` - optional; default is -1.
      - `PinBottomLeftY` - optional; default is 1.
      - `PinBottomRightX` - optional; default is 1.
      - `PinBottomRightY` - optional; default is 1.

    - #### VideoAlphaWithinVideoKey

          @OperationDescription(description="Alpha With Video Key effect",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=2,
                                bypass=1,
                                parametersDefined="AlphaKeyInvertAlpha",
                                aliases="Alpha With Video Key effect")
          static final AUID VideoAlphaWithinVideoKey

      An alpha key effect in which the alpha channel is within the foreground video essence shall be specified using the alpha with video key effect. Alpha transparency provides a mechanism for titles and travelling mattes.

      The alpha channel shall be contained within a channel of the foreground video essence, using either RGBA or YUVA. The essence descriptor shall be an RGBA descriptor object (or a sub-class) for RGBA, or a CDCI descriptor object (or a sub-class) for Color Difference Component Images. The alpha channel shall be indicated by the essence descriptor.

      This alpha with video key effect shall only be used by an operation group not contained within a transition object.

      The digital image descriptor alpha transparency property shall be present and specify whether the minimum alpha value or the maximum alpha value indicates complete transparency. The "alpha key invert alpha parameter" of this operation indicates whether the transparency indicated by the alpha transparency property should be inverted. This parameter is defined as:

      - `AlphaKeyInvertAlpha` - optional; default `false`.

    - #### VideoSeparateAlphaKey

          @OperationDescription(description="Separate Alpha Key effect",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=3,
                                bypass=1,
                                parametersDefined="AlphaKeyInvertAlpha",
                                aliases="Separate Alpha Key effect")
          static final AUID VideoSeparateAlphaKey

      An alpha key effect in which the alpha channel essence is separate from the video foreground and background essence shall be specified using the separate-alpha key effect. Alpha Transparency provides a mechanism for titles and travelling mattes.

      The alpha channel shall be contained within a channel of separate essence, using either RGBA or YUVA. The essence descriptor shall be a RGBA descriptor object (or a sub-class) for RGBA, or a CDCI descriptor object (or a sub-class) for Color Difference Component Images. Where the alpha channel is indicated by the essence descriptor, that channel shall be used as the alpha channel. Where the alpha channel is not indicated by the essence descriptor, the luminance value of the essence shall be used as the alpha channel.

      The separate-alpha key effect shall only be used by an operation group not contained within a transition object.

      The digital image descriptor alpha transparency property shall be present and specify whether the minimum alpha value or the maximum alpha value indicates complete transparency. The "alpha key invert alpha parameter" of this operation indicates whether the transparency indicated by the alpha transparency property should be inverted. This parameter is defined as:

      - `AlphaKeyInvertAlpha` - optional; default `false`.

    - #### VideoLuminanceKey

          @OperationDescription(description="Luminance Key",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=2,
                                bypass=1,
                                parametersDefined={"LumKeyLevel","LumKeyClip"},
                                aliases="Luminance Key")
          static final AUID VideoLuminanceKey

      A luminance key effect where the luminance is determined from the Y or the RGB channels.

      The luminance key effect shall only be used by an operation group not contained within a transition object.

      Operation parameters:

      - `LumKeyLevel` - required.
      - `LumKeyClip` - required.

    - #### VideoChromaKey

          @OperationDescription(description="Chroma Key",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=2,
                                bypass=1,
                                aliases="Chroma Key")
          static final AUID VideoChromaKey

      A chroma key effect shall be specified using the chroma key effect.

      The chroma key effect shall only be used by an operation group not contained within a transition object.

      Note that this operation has no specified parameters. However, an exporting applicaiton may define and use its own parameters.

    - #### MonoAudioGain

          @OperationDescription(description="Mono Audio Gain",
                                dataDefinition="Sound",
                                isTimeWarp=false,
                                numberInputs=1,
                                bypass=1,
                                parametersDefined="Amplitude",
                                aliases="Mono Audio Gain")
          static final AUID MonoAudioGain

      An audio gain effect, specifying how the level of an audio signal is amplified or attenuated over time, shall be specified using the mono audio gain effect.

      The mono audio gain effect shall only be used by an operation group not contained within a transition object.

      Operation parameters:

      - `Amplitude` - required.

    - #### MonoAudioPan

          @OperationDescription(description="Mono Audio Pan",
                                dataDefinition="Sound",
                                isTimeWarp=false,
                                numberInputs=1,
                                bypass=1,
                                parametersDefined="Pan",
                                aliases="Mono Audio Pan")
          static final AUID MonoAudioPan

      An audio pan effect, specifying the left/right balance of mono audio sources in a stereo sound field, shall be specified using the mono audio pan effect.

      A mono audio pan effect shall only be applied to audio tracks that refer to mono essence.

      Audio pan effects shall not be nested. The top-level pan value shall be applied.

      The mono audio pan effect shall only be used by an operation group not contained within a transition object.

      Operation parameters:

      - `Pan` - required.

    - #### MonoAudioDissolve

          @OperationDescription(description="Single-Parameter Mono Audio Dissolve",
                                dataDefinition="Sound",
                                isTimeWarp=false,
                                numberInputs=2,
                                parametersDefined="Level",
                                aliases="Mono Audio Dissolve")
          static final AUID MonoAudioDissolve

      A dissolve between overlapping audio clips, in which the fade out of the outgoing "A" segment is the mirror image in time of the fade in of the incoming "B" segment, shall be specified using the single-parameter mono audio dissolve effect.

      The single-parameter mono audio dissolve effect shall only be used by an operation group within a transition object.

      Operation parameters:

      - `Level` - optional; default is a varying value object with two control points: value 0 at time 0, and value 1 at time 1. The level is scaled linearly.

    - #### TwoParameterMonoAudioDissolve

          @OperationDescription(description="Two-Parameter Mono Audio Dissolve",
                                dataDefinition="Sound",
                                isTimeWarp=false,
                                numberInputs=2,
                                parametersDefined={"OutgoingLevel","IncomingLevel"},
                                aliases="Two-Parameter Mono Audio Dissolve")
          static final AUID TwoParameterMonoAudioDissolve

      A dissolve between overlapping audio clips, in which the levels of the incoming 'B' segment and outgoing 'A' segment are independently defined, shall be specified using the two-parameter mono audio dissolve effect.

      Note that two-parameter audio dissolve effects are commonly used by digital audio workstations.

      The two-parameter mono audio dissolve effect shall only be used by an operation group within a transition object.

      Operation parameters:

      - `OutgoingLevel` - optional; default is a varying value object with two control points: value 0 at time 0, and value 1 at time 1.
      - `IncomingLevel` - optional; default is a varying value object with two control points: value 0 at time 0, and value 1 at time 1.

    - #### Unknown

          @OperationDescription(description="Unknown operation",
                                dataDefinition="Unknown",
                                isTimeWarp=false,
                                numberInputs=0)
          static final AUID Unknown

      Specifies an unknown operation.

    - #### VideoFadeToBlack

          @OperationDescription(description="Video Fade To Black",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1)
           @Deprecated
          static final AUID VideoFadeToBlack

      Deprecated. Use effects defined in the AAF edit protocol instead.

      Legacy operation used to fade video to black.

    - #### PictureWithMate

          @OperationDescription(description="Picture With Matte",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1)
           @Deprecated
          static final AUID PictureWithMate

      Deprecated. Use effects defined in the AAF edit protocol instead.

      Legacy picture with matte operation.

    - #### VideoFrameToMask

          @OperationDescription(description="Video Frame To Mask",
                                dataDefinition="Picture",
                                isTimeWarp=false,
                                numberInputs=1)
           @Deprecated
          static final AUID VideoFrameToMask

      Deprecated. Use effects defined in the AAF edit protocol instead.

      Legacy operation used to convert a video frame to a mask.

    - #### StereoAudioDissolve

          @OperationDescription(description="Stereo Audio Dissolve",
                                dataDefinition="Sound",
                                isTimeWarp=false,
                                numberInputs=1)
           @Deprecated
          static final AUID StereoAudioDissolve

      Deprecated. Use effects defined in the AAF edit protocol instead.

      Legacy stereo audio dissolve operation.

    - #### StereoAudioGain

          @OperationDescription(description="Stereo Audio Gain",
                                dataDefinition="Sound",
                                isTimeWarp=false,
                                numberInputs=1)
           @Deprecated
          static final AUID StereoAudioGain

      Deprecated. Use effects defined in the AAF edit protocol instead.

      Legacy stereo audio gain operation.

    - #### MonoAudioMixdown

          @OperationDescription(description="Mono Audio Mixdown",
                                dataDefinition="Sound",
                                isTimeWarp=false,
                                numberInputs=1)
           @Deprecated
          static final AUID MonoAudioMixdown

      Deprecated. Use effects defined in the AAF edit protocol instead.

      Legacy mono audio mix down operation.

(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.