Lines Matching refs:pPriv
116 static struct v4l2_input XGIToV4lInput(XGIPortPrivPtr pPriv, int encoding);
117 static struct v4l2_standard XGIToV4lStandard(XGIPortPrivPtr pPriv, int encoding);
118 static int XGIOpenV4l(XGIPortPrivPtr pPriv);
119 static void XGICloseV4l(XGIPortPrivPtr pPriv);
361 set_maxencoding(XGIPtr pXGI, XGIPortPrivPtr pPriv)
371 XGIPortPrivPtr pPriv = GET_PORT_PRIVATE(pScrn);
373 XGIUpdateXvGamma(pXGI, pPriv);
377 XGISetPortDefaults(ScrnInfoPtr pScrn, XGIPortPrivPtr pPriv)
379 pPriv->colorKey = 0x000101fe;
380 pPriv->brightness = 0;
381 pPriv->contrast = 128;
382 pPriv->saturation = 0;
383 pPriv->hue = 0;
392 XGIPortPrivPtr pPriv;
419 pPriv = (XGIPortPrivPtr)(&adapt->pPortPrivates[1]);
421 adapt->pPortPrivates[0].ptr = (pointer)(pPriv);
446 sprintf(pPriv->devname, "/dev/video%d", pXGI->v4l_devnum);
447 ErrorF("Giwas : to open v4l device name : %s\n", pPriv->devname);
449 pPriv->fd = open(pPriv->devname, 0x200, 0);
450 if (-1 == pPriv->fd)
452 ErrorF("Giwas: %s can't open correctly\n",pPriv->devname);
456 ErrorF("Giwas: %s opened successfully\n", pPriv->devname);
457 if (-1 == ioctl(pPriv->fd,VIDIOC_QUERYCAP,&cap) )
459 ErrorF("Giwas:%s:not a capture device or no overlay support\n",pPriv->devname);
463 ErrorF("Giwas: %s querycap successfully\n", pPriv->devname);
465 standard = XGIToV4lStandard(pPriv, 4);
466 ioctl(pPriv->fd, VIDIOC_S_STD, standard.index);
468 close(pPriv->fd);
469 pPriv->fd = -1;
475 pPriv->currentBuf = 0;
478 pPriv->linear = NULL;
479 pPriv->fbAreaPtr = NULL;
482 pPriv->fbSize = 0;
483 pPriv->videoStatus = 0;
484 pPriv->linebufMergeLimit = 1280;
488 REGION_NULL(pScreen, &pPriv->clip);
490 REGION_INIT(pScreen, &pPriv->clip, NullBox, 0);
494 XGISetPortDefaults(pScrn, pPriv);
511 pPriv->displayMode = DISPMODE_MIRROR;
516 pPriv->displayMode = DISPMODE_SINGLE1;
521 set_maxencoding(pXGI, pPriv);
539 XGIPortPrivPtr pPriv = (XGIPortPrivPtr)data;
548 pPriv->brightness = value;
555 pPriv->contrast = value;
562 pPriv->saturation = value;
569 pPriv->hue = value;
573 pPriv->colorKey = value;
574 REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
580 XGIUpdateXvGamma(pXGI, pPriv);
586 XGIUpdateXvGamma(pXGI, pPriv);
592 XGIUpdateXvGamma(pXGI, pPriv);
605 temp = pPriv->encoding;/* bak for v4l use next*/
606 pPriv->encoding = value;
608 pPriv->update_flags |= UPDATE_VIDEO;
611 if (XGIOpenV4l(pPriv))
614 pPriv->encoding = temp;
615 pPriv->update_flags &= ~UPDATE_VIDEO;
619 standard = XGIToV4lStandard(pPriv,value);
620 if (ioctl(pPriv->fd, VIDIOC_S_STD, standard.index)<0)
622 pPriv->encoding = temp;
624 pPriv->update_flags &= ~UPDATE_VIDEO;
625 XGICloseV4l(pPriv);
629 XGICloseV4l(pPriv);
647 XGIPortPrivPtr pPriv = (XGIPortPrivPtr)data;
651 *value = pPriv->brightness;
654 *value = pPriv->contrast;
657 *value = pPriv->saturation;
660 *value = pPriv->hue;
673 *value = pPriv->colorKey;
679 *value = pPriv->encoding;
915 XGIDisplayVideo(ScrnInfoPtr pScrn, XGIPortPrivPtr pPriv)
919 short srcPitch = pPriv->srcPitch;
920 short height = pPriv->height;
926 overlay.pixelFormat = pPriv->id;
931 overlay.dstBox.x1 = pPriv->drw_x - pScrn->frameX0;
932 overlay.dstBox.x2 = pPriv->drw_x + pPriv->drw_w - pScrn->frameX0;
933 overlay.dstBox.y1 = pPriv->drw_y - pScrn->frameY0;
934 overlay.dstBox.y2 = pPriv->drw_y + pPriv->drw_h - pScrn->frameY0;
940 srcOffsetX = pPriv->src_w * (-overlay.dstBox.x1) / pPriv->drw_w;
944 srcOffsetY = pPriv->src_h * (-overlay.dstBox.y1) / pPriv->drw_h;
949 if (pPriv->videoStatus & CLIENT_CAPTURE_ON)
957 pPriv->mode = BOB_ODD;
965 switch(pPriv->id){
967 sx = (pPriv->src_x + srcOffsetX) & ~7;
968 sy = (pPriv->src_y + srcOffsetY) & ~1;
970 overlay.PSY = pPriv->bufAddr[pPriv->currentBuf] + sx + sy*srcPitch;
971 overlay.PSV = pPriv->bufAddr[pPriv->currentBuf] + height*srcPitch + ((sx + sy*srcPitch/2) >> 1);
972 overlay.PSU = pPriv->bufAddr[pPriv->currentBuf] + height*srcPitch*5/4 + ((sx + sy*srcPitch/2) >> 1);
977 sx = (pPriv->src_x + srcOffsetX) & ~7;
978 sy = (pPriv->src_y + srcOffsetY) & ~1;
979 overlay.PSY = pPriv->bufAddr[pPriv->currentBuf] + sx + sy*srcPitch;
980 overlay.PSV = pPriv->bufAddr[pPriv->currentBuf] + height*srcPitch + ((sx + sy*srcPitch/2) >> 1);
989 sx = (pPriv->src_x + srcOffsetX) & ~1;
990 sy = (pPriv->src_y + srcOffsetY);
992 overlay.PSY = pPriv->bufAddr[pPriv->currentBuf] + sx*2 + sy*srcPitch;
1003 overlay.srcW = pPriv->src_w - (sx - pPriv->src_x);
1004 overlay.srcH = pPriv->src_h - (sy - pPriv->src_y);
1017 SetColorkeyReg(pXGI, pPriv->colorKey);
1030 XGIPortPrivPtr pPriv = (XGIPortPrivPtr)data;
1033 REGION_EMPTY(pScrn->pScreen, &pPriv->clip);
1037 if(pPriv->videoStatus & CLIENT_VIDEO_ON) {
1042 if (pPriv->videoStatus & CLIENT_CAPTURE_ON) {
1046 if (pPriv->fd != -1){
1047 //ioctl(pPriv->fd, VIDIOC_OVERLAY, &zero);
1048 XGICloseV4l(pPriv);
1055 if(pPriv->fbAreaPtr) {
1056 xf86FreeOffscreenArea(pPriv->fbAreaPtr);
1057 pPriv->fbAreaPtr = NULL;
1058 pPriv->fbSize = 0;
1063 pPriv->videoStatus = 0;
1066 if(pPriv->videoStatus & CLIENT_VIDEO_ON) {
1067 pPriv->videoStatus |= OFF_TIMER;
1068 pPriv->offTime = currentTime.milliseconds + OFF_DELAY;
1088 XGIPortPrivPtr pPriv = (XGIPortPrivPtr)data;
1095 pPriv->drw_x = drw_x;
1096 pPriv->drw_y = drw_y;
1097 pPriv->drw_w = drw_w;
1098 pPriv->drw_h = drw_h;
1099 pPriv->src_x = src_x;
1100 pPriv->src_y = src_y;
1101 pPriv->src_w = src_w;
1102 pPriv->src_h = src_h;
1103 pPriv->id = id;
1104 pPriv->height = height;
1135 pPriv->srcPitch = (width + 7) & ~7;
1136 totalSize = (pPriv->srcPitch * height * 3) >> 1; /* Verified */
1144 pPriv->srcPitch = ((width << 1) + 3) & ~3; /* Verified */
1145 totalSize = pPriv->srcPitch * height;
1157 if(totalSize == pPriv->fbSize)
1160 pPriv->fbSize = totalSize;
1163 if(pPriv->fbAreaPtr) {
1164 xf86FreeOffscreenArea(pPriv->fbAreaPtr);
1173 pPriv->fbAreaPtr = xf86AllocateOffscreenArea(pScrn->pScreen,
1177 if(!pPriv->fbAreaPtr) {
1183 pBox = &(pPriv->fbAreaPtr->box);
1184 pPriv->bufAddr[0] = (pBox->x1 * depth) + (pBox->y1 * pitch);
1185 pPriv->bufAddr[1] = pPriv->bufAddr[0] + totalSize;
1192 memcpy(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf], buf, totalSize);
1199 short srcPitch2 = pPriv->srcPitch >> 1;
1203 Y = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1204 V = Y + pPriv->srcPitch * height;
1205 U = V + pPriv->srcPitch * height / 4 ;
1212 memcpy(Y + i * pPriv->srcPitch, srcY + i*width, width);
1227 *(unsigned char *)(Y + i * pPriv->srcPitch + j+1) = *(unsigned char *)(srcY + i*width + j);
1228 *(unsigned char *)(Y + i * pPriv->srcPitch + j) = *(unsigned char *)(srcY + i*width + j+1);
1252 *(unsigned char *)(Y + i * pPriv->srcPitch + j+3) = *(unsigned char *)(srcY + i*width + j);
1253 *(unsigned char *)(Y + i * pPriv->srcPitch + j+2) = *(unsigned char *)(srcY + i*width + j+1);
1254 *(unsigned char *)(Y + i * pPriv->srcPitch + j+1) = *(unsigned char *)(srcY + i*width + j+2);
1255 *(unsigned char *)(Y + i * pPriv->srcPitch + j) = *(unsigned char *)(srcY + i*width + j+3);
1278 memcpy(Y + i * pPriv->srcPitch, srcY + i*width, width);
1295 Y = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1296 VU = Y + pPriv->srcPitch * height;
1303 memcpy(Y + i * pPriv->srcPitch, srcY + i*width, width);
1306 memcpy(VU + i * pPriv->srcPitch, srcVU + i*width, width);
1315 *(unsigned char *)(Y + i * pPriv->srcPitch+j) = *(unsigned char *)(srcY + i*width+j+1);
1316 *(unsigned char *)(Y + i * pPriv->srcPitch+j+1) = *(unsigned char *)(srcY + i*width+j);
1325 *(unsigned char *)(VU + i * pPriv->srcPitch+j) = *(unsigned char *)(srcVU + i*width+j+1);
1326 *(unsigned char *)(VU + i * pPriv->srcPitch+j+1) = *(unsigned char *)(srcVU + i*width+j);
1337 *(unsigned char *)(Y + i * pPriv->srcPitch+j) = *(unsigned char *)(srcY + i*width+j+3);
1338 *(unsigned char *)(Y + i * pPriv->srcPitch+j+1) = *(unsigned char *)(srcY + i*width+j+2);
1339 *(unsigned char *)(Y + i * pPriv->srcPitch+j+2) = *(unsigned char *)(srcY + i*width+j+1);
1340 *(unsigned char *)(Y + i * pPriv->srcPitch+j+3) = *(unsigned char *)(srcY + i*width+j);
1349 *(unsigned char *)(VU + i * pPriv->srcPitch+j) = *(unsigned char *)(srcVU + i*width+j+3);
1350 *(unsigned char *)(VU + i * pPriv->srcPitch+j+1) = *(unsigned char *)(srcVU + i*width+j+2);
1351 *(unsigned char *)(VU + i * pPriv->srcPitch+j+2) = *(unsigned char *)(srcVU + i*width+j+1);
1352 *(unsigned char *)(VU + i * pPriv->srcPitch+j+3) = *(unsigned char *)(srcVU + i*width+j);
1360 memcpy(Y + i * pPriv->srcPitch, srcY + i*width, width);
1363 memcpy(VU + i * pPriv->srcPitch, srcVU + i*width, width);
1374 BYTE *Base = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1377 memcpy( Base + i * pPriv->srcPitch, buf + i*width*2, width*2);
1386 *(unsigned char *)(Base+i*pPriv->srcPitch+j) = *(unsigned char *)(buf+i*width*2+j+1);
1387 *(unsigned char *)(Base+i*pPriv->srcPitch+j+1) = *(unsigned char *)(buf+i*width*2+j);
1398 *(unsigned char *)(Base+i*pPriv->srcPitch+j) = *(unsigned char *)(buf+i*width*2+j+3);
1399 *(unsigned char *)(Base+i*pPriv->srcPitch+j+1) = *(unsigned char *)(buf+i*width*2+j+2);
1400 *(unsigned char *)(Base+i*pPriv->srcPitch+j+2) = *(unsigned char *)(buf+i*width*2+j+1);
1401 *(unsigned char *)(Base+i*pPriv->srcPitch+j+3) = *(unsigned char *)(buf+i*width*2+j);
1406 memcpy( Base + i * pPriv->srcPitch, buf + i*width*2, width*2);
1411 memcpy(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf], buf, totalSize);
1421 BYTE *Base = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1429 short srcPitch2 = pPriv->srcPitch >> 1;
1434 Y = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1435 V = Y + pPriv->srcPitch * height;
1436 U = V + pPriv->srcPitch * height / 4 ;
1444 *Y = *(srcY + pPriv->srcPitch*i + j);
1457 *(unsigned char *)(Y + i * pPriv->srcPitch + j+1) = *(unsigned char *)(srcY + i*width + j);
1458 *(unsigned char *)(Y + i * pPriv->srcPitch + j) = *(unsigned char *)(srcY + i*width + j+1);
1487 Y = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1488 VU = Y + pPriv->srcPitch * height;
1496 *Y = *(srcY + pPriv->srcPitch*i + j);
1500 *VU = *(srcVU + pPriv->srcPitch*i + j);
1506 *(unsigned char *)(Y + i * pPriv->srcPitch+j) = *(unsigned char *)(srcY + i*width+j+1);
1507 *(unsigned char *)(Y + i * pPriv->srcPitch+j+1) = *(unsigned char *)(srcY + i*width+j);
1515 *(unsigned char *)(VU + i * pPriv->srcPitch+j) = *(unsigned char *)(srcVU + i*width+j+1);
1516 *(unsigned char *)(VU + i * pPriv->srcPitch+j+1) = *(unsigned char *)(srcVU + i*width+j);
1530 BYTE *Base = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1536 *(Base+i*pPriv->srcPitch+j) = *(buf + width*i + j);
1541 *(unsigned char *)(Base+i*pPriv->srcPitch+j) = *(unsigned char *)(buf+i*width*2+j+1);
1542 *(unsigned char *)(Base+i*pPriv->srcPitch+j+1) = *(unsigned char *)(buf+i*width*2+j);
1550 BYTE *Base = (BYTE *)(pXGI->FbBase + pPriv->bufAddr[pPriv->currentBuf]);
1563 XGIDisplayVideo(pScrn, pPriv);
1566 if(!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes))
1568 REGION_COPY(pScrn->pScreen, &pPriv->clip, clipBoxes);
1572 xf86XVFillKeyHelper(pScrn->pScreen, pPriv->colorKey, clipBoxes);
1575 pPriv->currentBuf ^= 1;
1576 pPriv->videoStatus = CLIENT_VIDEO_ON;
1663 XGIPortPrivPtr pPriv = (XGIPortPrivPtr)data;
1673 pPriv->id = PIXEL_FMT_UYVY;
1674 pPriv->videoStatus = CLIENT_VIDEO_ON | CLIENT_CAPTURE_ON;
1676 pPriv->drw_x = drw_x;
1677 pPriv->drw_y = drw_y;
1678 pPriv->drw_w = drw_w;
1679 pPriv->drw_h = drw_h;
1680 pPriv->src_x = src_x;
1681 pPriv->src_y = src_y;
1682 pPriv->src_w = src_w;
1683 pPriv->src_h = src_h;
1684 pPriv->height = src_h;
1695 width = InputVideoEncodings[pPriv->encoding].width;
1696 height = InputVideoEncodings[pPriv->encoding].height;
1703 if (VIDEO_OFF == pPriv->videoflags) //means video capture was not open before!
1705 if (XGIOpenV4l(pPriv))//v4l open
1710 ErrorF("****Giwas: pPriv->encoding = %d\n",pPriv->encoding);
1713 input = XGIToV4lInput(pPriv,pPriv->encoding);
1715 if (ioctl(pPriv->fd, VIDIOC_S_INPUT, &(input.index))<0)
1717 XGICloseV4l(pPriv);
1727 standard = XGIToV4lStandard(pPriv,pPriv->encoding);
1729 if (ioctl(pPriv->fd, VIDIOC_S_STD, standard.index)<0)
1731 XGICloseV4l(pPriv);
1743 if (0 == ioctl(pPriv->fd, VIDIOC_G_FMT, &fmt))
1765 if (0 == ioctl(pPriv->fd, VIDIOC_S_FMT, &fmt))
1774 pPriv->srcPitch = (((fmt.fmt.pix.width*16)/8) + 63) & ~63;
1775 ErrorF("Giwas : PutVideo srcPitch = %x\n", pPriv->srcPitch);
1779 if (0 == ioctl(pPriv->fd, XGIIOC_G_FBUF, &xgifbuf))
1783 pPriv->bufAddr[0] = offset = xgifbuf.fboffset[0];
1785 pPriv->bufAddr[1] = offset = xgifbuf.fboffset[1];
1801 pPriv->update_flags |= UPDATE_VIDEO;
1809 XGIDisplayVideo(pScrn, pPriv);
1812 if(!RegionsEqual(&pPriv->clip, clipBoxes))
1814 REGION_COPY(pScreen, &pPriv->clip, clipBoxes);
1816 XAAFillSolidRects(pScrn, pPriv->colorKey, GXcopy, ~0,
1825 static struct v4l2_input XGIToV4lInput(XGIPortPrivPtr pPriv, int encoding)
1836 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMINPUT, &input))
1843 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMINPUT, &input))
1850 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMINPUT, &input))
1857 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMINPUT, &input))
1865 static struct v4l2_standard XGIToV4lStandard(XGIPortPrivPtr pPriv, int encoding)
1876 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMSTD, &standard))
1883 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMSTD, &standard))
1890 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMSTD, &standard))
1897 if (-1 == ioctl(pPriv->fd, VIDIOC_ENUMSTD, &standard))
1905 static int XGIOpenV4l(XGIPortPrivPtr pPriv)
1911 /*if (pPriv->overlay == TRUE) */
1913 if (-1 == pPriv->fd)
1915 pPriv->fd = open(pPriv->devname, 0x200, 0);
1916 ErrorF("Giwas: name %s opened V4l!!!\n", pPriv->devname);
1919 if (-1 == pPriv->fd)
1921 ErrorF("Giwas: name %s can't opened V4l!!!\n", pPriv->devname);
1925 if (-1 == ioctl(pPriv->fd,VIDIOC_QUERYCAP,&cap) )
1928 ErrorF("Giwas: %s: not a capture device or no overlay support \n",pPriv->devname);
1929 close(pPriv->fd);
1930 pPriv->fd = -1;
1934 pPriv->usecount++;
1935 ErrorF("Giwas: XGI Xv open V4l: refcount=%d\n",pPriv->usecount);
1941 static void XGICloseV4l(XGIPortPrivPtr pPriv)
1943 pPriv->usecount--;
1944 ErrorF("Giwas: XGICloseV4l called: refcount=%d\n",pPriv->usecount);
1945 if (0 == pPriv->usecount && -1 != pPriv->fd)
1947 close(pPriv->fd);
1948 pPriv->fd = -1;