videoj300SetVideoOutYUVLut(3mms) — Subroutines
Name
videoj300SetVideoOutYUVLut --- Set the current LUT controls for YUV data to video output on the J300
Syntax
#include <mme/mme_api.h>
MMRESULT videoj300SetVideoOutYUVLut(
HVIDEO hVideo,
DWORD dwBrightness,
DWORD dwContrast,
DWORD dwSaturation,
DWORD dwGamma,
unsigned char ∗ Ylut,
unsigned char ∗ Ulut,
unsigned char ∗ Vlut);
Arguments
HVIDEO hVideo
Specifies a handle to a video device channel.
DWORD dwBrightness
Specifies the brightness. Values range from 0 to 10000. A value of 5000 is nominal. This represents the y offset of Y.
DWORD dwContrast
Specifies the contrast. Values range from 0 to 10000. A value of 5000 is nominal. This represents the slope of Y.
DWORD dwSaturation
Specifies the saturation. Values range from 0 to 10000. A value of 5000 is nominal. This represents the slope of U and V.
DWORD dwGamma
Specifies the gamma. Values range from 1000 to 10000. A value of 1000 implies no gamma correction.
unsigned char ∗ Ylut
Specifies a pointer to a 256-entry array of Y values for the lookup table.
unsigned char ∗ Ulut
Specifies a pointer to a 256-entry array of U values for the lookup table.
unsigned char ∗ Vlut
Specifies a pointer to a 256-entry array of V values for the lookup table.
Description
The videoj300SetVideoOutYUVLut function sets the current LUT controls for YUV data to video playback on the FullVideo Supreme, FullVideo Supreme JPEG, and Sound and Motion J300 option modules. These controls are applied to the YUV data in software before sending the YUV data to the FullVideo Supreme, FullVideo Supreme JPEG, and Sound and Motion J300 option modules for video playback. This function also operates on JPEG input data. JPEG data is first decompressed into YUV data on the board and then sent to video playback on the FullVideo Supreme, FullVideo Supreme JPEG, and Sound and Motion J300 option modules.
If any of the Ylut, Vlut, or Ulut parameters are NULL, then the dwBrightness, dwContrast, and dwSaturation values are applied to the data. If the LUTs are supplied, the data is passed through the LUTs with no changes to brightness, contrast, and saturation. Users of this interface should understand how to apply brightness, contrast, saturation, and gamma when building their own LUTs. The parameter dwGamma is always applied.
Memory for the LUTs does not need to be allocated with the function mmeAllocMem.
The FullVideo Supreme, FullVideo Supreme JPEG, and Sound and Motion J300 option modules uses YCbCr format YUV (unsigned YUV values), not signed values.
Extensions
The videoj300SetVideoOutYUVLut function is a Digital extension to the Microsoft multimedia API specification.
Return Values
Returns DV_ERR_OK if the function is successful; otherwise, it returns one of the following error codes:
DV_ERR_UNSUPPORTED@T{ The function is not supported for the device. T} DV_ERR_PARAM1@T{ The brightness, contrast, saturation, or gamma values are out of range, or the pointers to one or more of the LUTs are non-null and invalid. T} DV_ERR_INVALHANDLE@T{ The specified device handle is invalid, or the device was not opened for output. T}
See Also
None.