Commit efb4a9bb authored by Felix Paul Kühne's avatar Felix Paul Kühne

VLCMediaPlayer: add API to work with the adjust video filter to manipulate...

VLCMediaPlayer: add API to work with the adjust video filter to manipulate contrast, brightness, hue, saturation and gamma on the fly
parent cac25fc7
......@@ -167,6 +167,43 @@ extern NSString * VLCMediaPlayerStateToString(VLCMediaPlayerState state);
*/
- (void)setDeinterlaceFilter: (NSString *)name;
/**
* Enable or disable adjust video filter (contrast, brightness, hue, saturation, gamma)
*
* \param bool value
*/
@property BOOL adjustFilterEnabled;
/**
* Set/Get the adjust filter's contrast value
*
* \param float value (range: 0-2, default: 1.0)
*/
@property float contrast;
/**
* Set/Get the adjust filter's brightness value
*
* \param float value (range: 0-2, default: 1.0)
*/
@property float brightness;
/**
* Set/Get the adjust filter's hue value
*
* \param integer value (range: 0-360, default: 0)
*/
@property NSInteger hue;
/**
* Set/Get the adjust filter's saturation value
*
* \param float value (range: 0-3, default: 1.0)
*/
@property float saturation;
/**
* Set/Get the adjust filter's gamma value
*
* \param float value (range: 0-10, default: 1.0)
*/
@property float gamma;
@property float rate;
@property (readonly) VLCAudio * audio;
......
......@@ -395,6 +395,60 @@ static void HandleMediaPlayerMediaChanged(const libvlc_event_t * event, void * s
libvlc_video_set_deinterlace(instance, [name UTF8String]);
}
- (BOOL)adjustFilterEnabled
{
return libvlc_video_get_adjust_int(instance, libvlc_adjust_Enable);
}
- (void)setAdjustFilterEnabled:(BOOL)b_value
{
libvlc_video_set_adjust_int(instance, libvlc_adjust_Enable, b_value);
}
- (float)contrast
{
return libvlc_video_get_adjust_float(instance, libvlc_adjust_Contrast);
}
- (void)setContrast:(float)f_value
{
if (f_value <= 2. && f_value >= 0.)
libvlc_video_set_adjust_float(instance,libvlc_adjust_Contrast, f_value);
}
- (float)brightness
{
return libvlc_video_get_adjust_float(instance, libvlc_adjust_Brightness);
}
- (void)setBrightness:(float)f_value
{
if (f_value <= 2. && f_value >= 0.)
libvlc_video_set_adjust_float(instance, libvlc_adjust_Brightness, f_value);
}
- (NSInteger)hue
{
return libvlc_video_get_adjust_int(instance, libvlc_adjust_Hue);
}
- (void)setHue:(NSInteger)i_value
{
if (i_value <= 360 && i_value >= 0)
libvlc_video_set_adjust_int(instance, libvlc_adjust_Hue, i_value);
}
- (float)saturation
{
return libvlc_video_get_adjust_float(instance, libvlc_adjust_Saturation);
}
- (void)setSaturation:(float)f_value
{
if (f_value <= 3. && f_value >= 0.)
libvlc_video_set_adjust_float(instance, libvlc_adjust_Saturation, f_value);
}
- (float)gamma
{
return libvlc_video_get_adjust_float(instance, libvlc_adjust_Gamma);
}
- (void)setGamma:(float)f_value
{
if (f_value <= 10. && f_value >= 0.)
libvlc_video_set_adjust_float(instance, libvlc_adjust_Gamma, f_value);
}
- (void)setRate:(float)value
{
libvlc_media_player_set_rate(instance, value);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment