This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/xawtv3.git tree:

Subject: Add other XV attributes found on bttv + nv driver
Author:  Mauro Carvalho Chehab <[email protected]>
Date:    Fri Feb 11 09:53:23 2011 -0200

This patch adds all attributes that can be managed with a bttv
board, using the nv driver, on a board that support overlay mode.

This change is not enough to make those controls visible, as
we would need to touch also at libng, but this is the first
step for doing it.

Overlay Xv mode is tested and is know to work, together with
the V4L Xorg driver.

Tested with a bttv Encore board and a FX5200 with the nv driver.
Nvidia chips up to NV30 family using the old nv driver are known
to work. Also, the old Radeon driver. Newer nvidia boards or
newer drivers like Nouveau don't support the old Xv overlay mode
anymore. A port to textured video is needed for overlay to
work on newer hardware/drivers.

Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 x11/xv.c |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

---

http://git.linuxtv.org/xawtv3.git?a=commitdiff;h=ebc38bbf4bb24bd07faa507e9547d8adf42fd48d

diff --git a/x11/xv.c b/x11/xv.c
index a712716..9bc3ae8 100644
--- a/x11/xv.c
+++ b/x11/xv.c
@@ -63,7 +63,7 @@ struct xv_handle {
     int                  vi_adaptor;
     XvPortID             vi_port;
     GC                   vi_gc;
-    
+
     /* attributes */
     int                  nattr;
     struct ng_attribute  *attr;
@@ -87,11 +87,29 @@ static const struct XVATTR {
     { ATTR_ID_HUE,      ATTR_TYPE_INTEGER, "XV_HUE",        },
     { ATTR_ID_BRIGHT,   ATTR_TYPE_INTEGER, "XV_BRIGHTNESS", },
     { ATTR_ID_CONTRAST, ATTR_TYPE_INTEGER, "XV_CONTRAST",   },
+    { -1,               ATTR_TYPE_BOOL,    "XV_CHROMA_AGC", },
+    { -1,               ATTR_TYPE_BOOL,    "XV_COMBFILTER", },
+    { -1,               ATTR_TYPE_BOOL,    "XV_AUTOMUTE",   },
+    { -1,               ATTR_TYPE_BOOL,    "XV_LUMA_DECIMATION_FILTER", },
+    { -1,               ATTR_TYPE_BOOL,    "XV_AGC_CRUSH",  },
+    { -1,               ATTR_TYPE_BOOL,    "XV_VCR_HACK",   },
+    { -1,               ATTR_TYPE_BOOL,    "XV_FULL_LUMA_RANGE", },
     { ATTR_ID_MUTE,     ATTR_TYPE_BOOL,    "XV_MUTE",       },
+    { -1,               ATTR_TYPE_INTEGER, "XV_BALANCE",    },
+    { -1,               ATTR_TYPE_INTEGER, "XV_BASS",       },
+    { -1,               ATTR_TYPE_INTEGER, "XV_TREBLE",     },
     { ATTR_ID_VOLUME,   ATTR_TYPE_INTEGER, "XV_VOLUME",     },
     { -1,               -1,                "XV_COLORKEY",   },
+    { -1,               -1,                "XV_AUTOPAINT_COLORKEY", },
     { -1,               -1,                "XV_FREQ",       },
     { -1,               -1,                "XV_ENCODING",   },
+    { -1,               -1,                "XV_WHITECRUSH_UPPER", },
+    { -1,               -1,                "XV_WHITECRUSH_LOWER", },
+    { -1,               -1,                "XV_UV_RATIO",   },
+    { -1,               -1,                "XV_CORING",     },
+    { -1,               -1,                "XV_AUTOPAINT_COLORKEY", },
+    { -1,               -1,                "XV_SET_DEFAULTS", },
+    { -1,               -1,                "XV_ITURBT_709", },
     {}
 };
 
@@ -107,10 +125,10 @@ static int xv_read_attr(struct ng_attribute *attr)
        XvGetPortAttribute(dpy, h->vi_port,atom,&value);
        if (debug)
            fprintf(stderr,"xv: get %s: %d\n",at->name,value);
-       
+
     } else if (attr->id == ATTR_ID_NORM) {
        value = h->norm;
-       
+
     } else if (attr->id == ATTR_ID_INPUT) {
        value = h->input;
 
@@ -155,7 +173,7 @@ xv_add_attr(struct xv_handle *h, int id, int type,
            int defval, struct STRTAB *choices, XvAttribute *at)
 {
     int i;
-    
+
     h->attr = realloc(h->attr,(h->nattr+2) * sizeof(struct ng_attribute));
     memset(h->attr+h->nattr,0,sizeof(struct ng_attribute)*2);
     if (at) {
@@ -229,7 +247,7 @@ xv_video(Window win, int dw, int dh, int on)
     struct xv_handle *h = h_drv; /* FIXME */
     int sx,sy,dx,dy;
     int sw,sh;
-    
+
     if (on) {
        sx = sy = dx = dy = 0;
        sw = dw;
@@ -356,7 +374,7 @@ void xv_video_init(unsigned int port, int hwscan)
            fprintf(stderr,"\n");
            continue;
        }
-       
+
        if ((ai[i].type & XvInputMask) &&
            (ai[i].type & XvVideoMask) &&
            (vi_port == -1)) {
@@ -514,7 +532,7 @@ init_icon_window(Widget shell,WidgetClass class)
        icon_height = 48;
     }
     fprintf(stderr,"icon init %dx%d\n",icon_width,icon_height);
-    
+
     icon_win = XCreateWindow(XtDisplay(shell),root,
                             0,0,icon_width,icon_height,1,
                             CopyFromParent,InputOutput,CopyFromParent,

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to