Przeglądaj źródła

fix(web): 融合Frame坐标转换至视频坐标系

hujinliang 4 lat temu
rodzic
commit
7203274b52
3 zmienionych plików z 9 dodań i 3 usunięć
  1. 6 2
      web/dist/vap.js
  2. 0 0
      web/dist/vap.min.js
  3. 3 1
      web/src/webgl-render-vap.ts

+ 6 - 2
web/dist/vap.js

@@ -1878,7 +1878,11 @@
               posArr[posArr.length] = +_this2.vapFrameParser.textureMap[frame.srcId];
               var info = _this2.vapFrameParser.config.info;
               var vW = info.videoW,
-                  vH = info.videoH;
+                  vH = info.videoH; // frame坐标是最终展示坐标,这里glsl中计算使用视频坐标
+
+              var _info$rgbFrame2 = slicedToArray(info.rgbFrame, 2),
+                  rgbX = _info$rgbFrame2[0],
+                  rgbY = _info$rgbFrame2[1];
 
               var _frame$frame = slicedToArray(frame.frame, 4),
                   x = _frame$frame[0],
@@ -1892,7 +1896,7 @@
                   mW = _frame$mFrame[2],
                   mH = _frame$mFrame[3];
 
-              var coord = computeCoord(x, y, w, h, vW, vH);
+              var coord = computeCoord(x + rgbX, y + rgbY, w, h, vW, vH);
               var mCoord = computeCoord(mX, mY, mW, mH, vW, vH);
               posArr = posArr.concat(coord).concat(mCoord);
             });

Plik diff jest za duży
+ 0 - 0
web/dist/vap.min.js


+ 3 - 1
web/src/webgl-render-vap.ts

@@ -298,9 +298,11 @@ export default class WebglRenderVap extends VapVideo {
 
           const info = this.vapFrameParser.config.info;
           const { videoW: vW, videoH: vH } = info;
+          // frame坐标是最终展示坐标,这里glsl中计算使用视频坐标
+          const [rgbX, rgbY] = info.rgbFrame;
           const [x, y, w, h] = frame.frame;
           const [mX, mY, mW, mH] = frame.mFrame;
-          const coord = computeCoord(x, y, w, h, vW, vH);
+          const coord = computeCoord(x + rgbX, y + rgbY, w, h, vW, vH);
           const mCoord = computeCoord(mX, mY, mW, mH, vW, vH);
           posArr = posArr.concat(coord).concat(mCoord);
         })

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików