Skip to content
Browse files

Disable picture controls with Intel XVideo overlay adaptor.

This adaptor uses defaults that vary from the norm on more than just the hue value.
Hue variance is the only thing we allow non-standard defaults on so just disable
picture controls with this adaptor.
  • Loading branch information...
1 parent b2657a1 commit 0c00c0ac960df077d558959b1726c4b9801852c3 @daniel-kristjansson daniel-kristjansson committed Apr 13, 2012
Showing with 7 additions and 1 deletion.
  1. +6 −1 mythtv/libs/libmythtv/videoout_xv.cpp
  2. +1 −0 mythtv/libs/libmythtv/videoout_xv.h
View
7 mythtv/libs/libmythtv/videoout_xv.cpp
@@ -147,6 +147,7 @@ VideoOutputXv::VideoOutputXv()
xv_port(-1), xv_hue_base(0),
xv_colorkey(0), xv_draw_colorkey(false),
xv_chroma(0), xv_set_defaults(false),
+ xv_use_picture_controls(true),
chroma_osd(NULL)
{
@@ -610,6 +611,8 @@ bool VideoOutputXv::InitXVideo()
.arg(adaptor_name));
xv_hue_base = VideoOutput::CalcHueBase(adaptor_name);
+ xv_use_picture_controls =
+ adaptor_name != "Intel(R) Video Overlay";
bool foundimageformat = false;
int ids[] = { GUID_YV12_PLANAR, GUID_I420_PLANAR, GUID_IYUV_PLANAR, };
@@ -854,7 +857,9 @@ bool VideoOutputXv::InitSetupBuffers(void)
if (xv_port && (VideoOutputSubType() >= XVideo))
save_port_attributes(xv_port);
- InitPictureAttributes();
+ // Initialize the picture controls if we need to..
+ if (xv_use_picture_controls)
+ InitPictureAttributes();
return true;
}
View
1 mythtv/libs/libmythtv/videoout_xv.h
@@ -153,6 +153,7 @@ class VideoOutputXv : public VideoOutput
bool xv_set_defaults;
buffer_map_t xv_buffers;
bool xv_need_bobdeint_repaint;
+ bool xv_use_picture_controls;
QMap<PictureAttribute,int> xv_attribute_min;
QMap<PictureAttribute,int> xv_attribute_max;
QMap<PictureAttribute,int> xv_attribute_def;

0 comments on commit 0c00c0a

Please sign in to comment.
Something went wrong with that request. Please try again.