Lines Matching refs:portPriv

317     XvPortRecPrivatePtr portPriv;
492 if (!(portPriv = calloc(1, sizeof(XvPortRecPrivate))))
496 free(portPriv);
506 pp->devPriv.ptr = portPriv;
508 portPriv->pScrn = pScrn;
509 portPriv->AdaptorRec = adaptorPriv;
510 portPriv->DevPriv.ptr = adaptorPtr->pPortPrivates[i].ptr;
557 xf86XVUpdateCompositeClip(XvPortRecPrivatePtr portPriv)
563 if (portPriv->pCompositeClip)
566 pWin = (WindowPtr) portPriv->pDraw;
569 if (portPriv->subWindowMode == IncludeInferiors) {
576 if (!portPriv->clientClip) {
577 portPriv->pCompositeClip = pregWin;
578 portPriv->FreeCompositeClip = freeCompClip;
583 RegionCopy(pCompositeClip, portPriv->clientClip);
584 RegionTranslate(pCompositeClip, portPriv->pDraw->x, portPriv->pDraw->y);
587 portPriv->pCompositeClip = pCompositeClip;
588 portPriv->FreeCompositeClip = TRUE;
599 xf86XVCopyClip(XvPortRecPrivatePtr portPriv, GCPtr pGC)
603 if (!portPriv->clientClip)
604 portPriv->clientClip = RegionCreate(NullBox, 1);
606 RegionCopy(portPriv->clientClip, pGC->clientClip);
607 RegionTranslate(portPriv->clientClip, pGC->clipOrg.x, pGC->clipOrg.y);
609 else if (portPriv->clientClip) { /* free the old clientClip */
610 RegionDestroy(portPriv->clientClip);
611 portPriv->clientClip = NULL;
615 if (portPriv->pCompositeClip && portPriv->FreeCompositeClip) {
616 RegionDestroy(portPriv->pCompositeClip);
619 portPriv->pCompositeClip = pGC->pCompositeClip;
620 portPriv->FreeCompositeClip = FALSE;
621 portPriv->subWindowMode = pGC->subWindowMode;
625 xf86XVCopyCompositeClip(XvPortRecPrivatePtr portPriv,
628 if (!portPriv->clientClip)
629 portPriv->clientClip = RegionCreate(NullBox, 1);
631 RegionCopy(portPriv->clientClip, pGC->pCompositeClip);
632 RegionTranslate(portPriv->clientClip, -pDraw->x, -pDraw->y);
635 if (portPriv->pCompositeClip && portPriv->FreeCompositeClip)
636 RegionDestroy(portPriv->pCompositeClip);
638 portPriv->pCompositeClip = pGC->pCompositeClip;
639 portPriv->FreeCompositeClip = FALSE;
640 portPriv->subWindowMode = pGC->subWindowMode;
644 xf86XVRegetVideo(XvPortRecPrivatePtr portPriv)
652 xf86XVUpdateCompositeClip(portPriv);
655 WinBox.x1 = portPriv->pDraw->x + portPriv->drw_x;
656 WinBox.y1 = portPriv->pDraw->y + portPriv->drw_y;
657 WinBox.x2 = WinBox.x1 + portPriv->drw_w;
658 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
663 RegionIntersect(&ClipRegion, &WinRegion, portPriv->pCompositeClip);
671 ret = (*portPriv->AdaptorRec->GetVideo) (portPriv->pScrn,
672 portPriv->vid_x, portPriv->vid_y,
674 portPriv->vid_w, portPriv->vid_h,
675 portPriv->drw_w, portPriv->drw_h,
676 &ClipRegion, portPriv->DevPriv.ptr,
677 portPriv->pDraw);
680 portPriv->isOn = XV_ON;
684 if ((clippedAway || (ret != Success)) && portPriv->isOn == XV_ON) {
685 (*portPriv->AdaptorRec->StopVideo) (portPriv->pScrn,
686 portPriv->DevPriv.ptr, FALSE);
687 portPriv->isOn = XV_PENDING;
691 if (!portPriv->FreeCompositeClip)
692 portPriv->pCompositeClip = NULL;
701 xf86XVReputVideo(XvPortRecPrivatePtr portPriv)
709 xf86XVUpdateCompositeClip(portPriv);
712 WinBox.x1 = portPriv->pDraw->x + portPriv->drw_x;
713 WinBox.y1 = portPriv->pDraw->y + portPriv->drw_y;
714 WinBox.x2 = WinBox.x1 + portPriv->drw_w;
715 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
720 RegionIntersect(&ClipRegion, &WinRegion, portPriv->pCompositeClip);
723 if (portPriv->AdaptorRec->flags & VIDEO_CLIP_TO_VIEWPORT) {
727 VPBox.x1 = portPriv->pScrn->frameX0;
728 VPBox.y1 = portPriv->pScrn->frameY0;
729 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
730 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
743 ret = (*portPriv->AdaptorRec->PutVideo) (portPriv->pScrn,
744 portPriv->vid_x, portPriv->vid_y,
746 portPriv->vid_w, portPriv->vid_h,
747 portPriv->drw_w, portPriv->drw_h,
748 &ClipRegion, portPriv->DevPriv.ptr,
749 portPriv->pDraw);
752 portPriv->isOn = XV_ON;
756 if ((clippedAway || (ret != Success)) && (portPriv->isOn == XV_ON)) {
757 (*portPriv->AdaptorRec->StopVideo) (portPriv->pScrn,
758 portPriv->DevPriv.ptr, FALSE);
759 portPriv->isOn = XV_PENDING;
763 if (!portPriv->FreeCompositeClip)
764 portPriv->pCompositeClip = NULL;
774 xf86XVReputImage(XvPortRecPrivatePtr portPriv)
782 xf86XVUpdateCompositeClip(portPriv);
785 RegionCopy(portPriv->clientClip, portPriv->pCompositeClip);
786 RegionTranslate(portPriv->clientClip,
787 -portPriv->pDraw->x, -portPriv->pDraw->y);
790 WinBox.x1 = portPriv->pDraw->x + portPriv->drw_x;
791 WinBox.y1 = portPriv->pDraw->y + portPriv->drw_y;
792 WinBox.x2 = WinBox.x1 + portPriv->drw_w;
793 WinBox.y2 = WinBox.y1 + portPriv->drw_h;
798 RegionIntersect(&ClipRegion, &WinRegion, portPriv->pCompositeClip);
801 if (portPriv->AdaptorRec->flags & VIDEO_CLIP_TO_VIEWPORT) {
805 VPBox.x1 = portPriv->pScrn->frameX0;
806 VPBox.y1 = portPriv->pScrn->frameY0;
807 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
808 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
821 ret = (*portPriv->AdaptorRec->ReputImage) (portPriv->pScrn,
822 portPriv->vid_x, portPriv->vid_y,
824 portPriv->vid_w, portPriv->vid_h,
825 portPriv->drw_w, portPriv->drw_h,
827 portPriv->DevPriv.ptr,
828 portPriv->pDraw);
830 portPriv->isOn = (ret == Success) ? XV_ON : XV_OFF;
834 if ((clippedAway || (ret != Success)) && (portPriv->isOn == XV_ON)) {
835 (*portPriv->AdaptorRec->StopVideo) (portPriv->pScrn,
836 portPriv->DevPriv.ptr, FALSE);
837 portPriv->isOn = XV_PENDING;
841 if (!portPriv->FreeCompositeClip)
842 portPriv->pCompositeClip = NULL;
867 xf86XVEnlistPortInWindow(WindowPtr pWin, XvPortRecPrivatePtr portPriv)
875 if (winPriv->PortRec == portPriv) /* we're already listed */
884 winPriv->PortRec = portPriv;
889 portPriv->pDraw = (DrawablePtr) pWin;
895 xf86XVRemovePortFromWindow(WindowPtr pWin, XvPortRecPrivatePtr portPriv)
902 if (winPriv->PortRec == portPriv) {
914 portPriv->pDraw = NULL;
915 if (portPriv->ckeyFilled) {
916 RegionDestroy(portPriv->ckeyFilled);
917 portPriv->ckeyFilled = NULL;
919 portPriv->clipChanged = FALSE;
1277 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1287 if (portPriv->pDraw && (portPriv->pDraw != pDraw))
1288 xf86XVRemovePortFromWindow((WindowPtr) (portPriv->pDraw), portPriv);
1291 result = xf86XVEnlistPortInWindow((WindowPtr) pDraw, portPriv);
1295 portPriv->type = XvInputMask;
1298 portPriv->vid_x = vid_x;
1299 portPriv->vid_y = vid_y;
1300 portPriv->vid_w = vid_w;
1301 portPriv->vid_h = vid_h;
1302 portPriv->drw_x = drw_x;
1303 portPriv->drw_y = drw_y;
1304 portPriv->drw_w = drw_w;
1305 portPriv->drw_h = drw_h;
1308 xf86XVCopyClip(portPriv, pGC);
1313 if (!portPriv->pScrn->vtSema)
1316 return (xf86XVReputVideo(portPriv));
1327 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1337 if (!portPriv->pScrn->vtSema)
1345 xf86XVCopyCompositeClip(portPriv, pGC, pDraw);
1351 if (portPriv->AdaptorRec->flags & VIDEO_CLIP_TO_VIEWPORT) {
1355 VPBox.x1 = portPriv->pScrn->frameX0;
1356 VPBox.y1 = portPriv->pScrn->frameY0;
1357 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
1358 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
1365 if (portPriv->pDraw) {
1366 xf86XVRemovePortFromWindow((WindowPtr) (portPriv->pDraw), portPriv);
1374 ret = (*portPriv->AdaptorRec->PutStill) (portPriv->pScrn,
1377 &ClipRegion, portPriv->DevPriv.ptr,
1381 (portPriv->AdaptorRec->flags & VIDEO_OVERLAID_STILLS)) {
1383 xf86XVEnlistPortInWindow((WindowPtr) pDraw, portPriv);
1384 portPriv->isOn = XV_ON;
1385 portPriv->vid_x = vid_x;
1386 portPriv->vid_y = vid_y;
1387 portPriv->vid_w = vid_w;
1388 portPriv->vid_h = vid_h;
1389 portPriv->drw_x = drw_x;
1390 portPriv->drw_y = drw_y;
1391 portPriv->drw_w = drw_w;
1392 portPriv->drw_h = drw_h;
1393 portPriv->type = 0; /* no mask means it's transient and should
1400 if ((clippedAway || (ret != Success)) && (portPriv->isOn == XV_ON)) {
1401 (*portPriv->AdaptorRec->StopVideo) (portPriv->pScrn,
1402 portPriv->DevPriv.ptr, FALSE);
1403 portPriv->isOn = XV_PENDING;
1407 if (!portPriv->FreeCompositeClip)
1408 portPriv->pCompositeClip = NULL;
1424 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1434 if (portPriv->pDraw && (portPriv->pDraw != pDraw))
1435 xf86XVRemovePortFromWindow((WindowPtr) (portPriv->pDraw), portPriv);
1438 result = xf86XVEnlistPortInWindow((WindowPtr) pDraw, portPriv);
1442 portPriv->type = XvOutputMask;
1445 portPriv->vid_x = vid_x;
1446 portPriv->vid_y = vid_y;
1447 portPriv->vid_w = vid_w;
1448 portPriv->vid_h = vid_h;
1449 portPriv->drw_x = drw_x;
1450 portPriv->drw_y = drw_y;
1451 portPriv->drw_w = drw_w;
1452 portPriv->drw_h = drw_h;
1455 xf86XVCopyClip(portPriv, pGC);
1460 if (!portPriv->pScrn->vtSema)
1463 return (xf86XVRegetVideo(portPriv));
1474 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1484 if (!portPriv->pScrn->vtSema)
1496 if (portPriv->pDraw) {
1497 xf86XVRemovePortFromWindow((WindowPtr) (portPriv->pDraw), portPriv);
1505 ret = (*portPriv->AdaptorRec->GetStill) (portPriv->pScrn,
1508 &ClipRegion, portPriv->DevPriv.ptr,
1513 if ((clippedAway || (ret != Success)) && (portPriv->isOn == XV_ON)) {
1514 (*portPriv->AdaptorRec->StopVideo) (portPriv->pScrn,
1515 portPriv->DevPriv.ptr, FALSE);
1516 portPriv->isOn = XV_PENDING;
1528 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1533 xf86XVRemovePortFromWindow((WindowPtr) pDraw, portPriv);
1535 if (!portPriv->pScrn->vtSema)
1540 if (portPriv->isOn > XV_OFF) {
1541 (*portPriv->AdaptorRec->StopVideo) (portPriv->pScrn,
1542 portPriv->DevPriv.ptr, TRUE);
1543 portPriv->isOn = XV_OFF;
1552 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1554 return ((*portPriv->AdaptorRec->SetPortAttribute) (portPriv->pScrn,
1556 portPriv->DevPriv.ptr));
1562 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1564 return ((*portPriv->AdaptorRec->GetPortAttribute) (portPriv->pScrn,
1566 portPriv->DevPriv.ptr));
1576 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1578 (*portPriv->AdaptorRec->QueryBestSize) (portPriv->pScrn,
1581 portPriv->DevPriv.ptr);
1597 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1607 if (!portPriv->pScrn->vtSema)
1610 xf86XVCopyCompositeClip(portPriv, pGC, pDraw);
1621 if (portPriv->AdaptorRec->flags & VIDEO_CLIP_TO_VIEWPORT) {
1625 VPBox.x1 = portPriv->pScrn->frameX0;
1626 VPBox.y1 = portPriv->pScrn->frameY0;
1627 VPBox.x2 = portPriv->pScrn->frameX1 + 1;
1628 VPBox.y2 = portPriv->pScrn->frameY1 + 1;
1636 if (portPriv->pDraw && (portPriv->pDraw != pDraw))
1637 xf86XVRemovePortFromWindow((WindowPtr) (portPriv->pDraw), portPriv);
1640 ret = xf86XVEnlistPortInWindow((WindowPtr) pDraw, portPriv);
1649 ret = (*portPriv->AdaptorRec->PutImage) (portPriv->pScrn,
1654 portPriv->DevPriv.ptr, pDraw);
1657 (portPriv->AdaptorRec->flags & VIDEO_OVERLAID_IMAGES)) {
1659 portPriv->isOn = XV_ON;
1660 portPriv->vid_x = src_x;
1661 portPriv->vid_y = src_y;
1662 portPriv->vid_w = src_w;
1663 portPriv->vid_h = src_h;
1664 portPriv->drw_x = drw_x;
1665 portPriv->drw_y = drw_y;
1666 portPriv->drw_w = drw_w;
1667 portPriv->drw_h = drw_h;
1668 portPriv->type = 0; /* no mask means it's transient and should
1675 if ((clippedAway || (ret != Success)) && (portPriv->isOn == XV_ON)) {
1676 (*portPriv->AdaptorRec->StopVideo) (portPriv->pScrn,
1677 portPriv->DevPriv.ptr, FALSE);
1678 portPriv->isOn = XV_PENDING;
1682 if (!portPriv->FreeCompositeClip)
1683 portPriv->pCompositeClip = NULL;
1697 XvPortRecPrivatePtr portPriv = (XvPortRecPrivatePtr) (pPort->devPriv.ptr);
1699 return (*portPriv->AdaptorRec->QueryImageAttributes) (portPriv->pScrn,
1728 XvPortRecPrivatePtr portPriv = NULL;
1736 portPriv = pPriv;
1743 if (!portPriv)
1746 if (!portPriv->ckeyFilled)
1747 portPriv->ckeyFilled = RegionCreate(NULL, 0);
1752 RegionSubtract(fillboxes, clipboxes, portPriv->ckeyFilled);
1760 RegionCopy(portPriv->ckeyFilled, clipboxes);