@@ -56,56 +56,35 @@ export proc getNewFrame(ref frame: [] real(32),height: int, width: int,channels:
5656 writeln (" FPS: " , 1.0 / dt);
5757 const shape = (height,width,channels);
5858 const frameDom = utils.domainFromShape((...shape));
59- const shapedFrame = [ idx in frameDom] frame[ utils.linearIdx(shape,idx)] ;
60-
61- var ndframe = new ndarray(shapedFrame);
62-
63- // const nf = ndframe.flatten().data;
64- // return nf;
65- // var ndframe = new ndarray(real(32),shape);
66- // ndframe.data = reshape(frame,ndframe.domain);
67- // var bt = Bridge.model_forward_style_transfer(model,ndframe : Bridge.tensorHandle(real(32)));
68- // writeln("Copying data 1");
69- // ndframe = bt : ndframe.type;
70-
71- // var bt = Bridge.model_forward(model,ndframe : Bridge.tensorHandle(real(32)));
7259
60+ var btFrame: Bridge.bridge_tensor_t = Bridge.createBridgeTensorWithShape(frame,shape);
7361 var bt: Bridge.bridge_tensor_t;
7462 if modelPath == " sobel.pt" then
75- bt = Bridge.model_forward(model,ndframe : Bridge.tensorHandle( real ( 32 )) );
63+ bt = Bridge.model_forward(model,btFrame );
7664 else
77- bt = Bridge.model_forward_style_transfer(model,ndframe : Bridge.tensorHandle( real ( 32 )) );
65+ bt = Bridge.model_forward_style_transfer(model,btFrame );
7866
79- // ndframe.loadFromBridgeTensor(bt);
80- const nextNDFrame = bt : ndarray(3 , real (32 ));
8167
82- forall i in 0 ..< frame.size {
83- const idx = utils.indexAt(i,(...shape));
84- ref color = frame[ i] ;
85- color = nextNDFrame.data[ idx] ;
86- }
87-
88- lastFrame = getTime();
89-
90- return frame;
9168
69+ const nextNDFrame = bt : ndarray(3 , real (32 ));
9270 const flattenedNextFrame = nextNDFrame.flatten().data;
71+ lastFrame = getTime();
9372 return flattenedNextFrame;
9473
95- forall i in 0 ..< frame.size {
96- const idx = utils.indexAt(i,(...shape));
97- const (h,w,c) = idx;
98- const (u,v) = (h: real (64 )/ height,w: real (64 )/ width);
99- ref color = frame[ i] ;
100- // if h < width {
101- // frame[utils.linearIdx(shape,(h,w,c))] = frame[utils.linearIdx(shape,(h,w,c-1))];
102- // }
103- // if h < width {
104- // frame[utils.linearIdx(shape,(h,w,0))] *= Math.sin(2.0*t + 5.0 * u) : real(32);
105- // }
106- color *= (Math.abs (Math.sin(2.0 * t + 5.0 * v)) * Math.abs (Math.sin(2.0 * t + 5.0 * u))) : real (32 );
107- }
108- return frame;
74+ // forall i in 0..<frame.size {
75+ // const idx = utils.indexAt(i,(...shape));
76+ // const (h,w,c) = idx;
77+ // const (u,v) = (h:real(64)/height,w:real(64)/width);
78+ // ref color = frame[i];
79+ // // if h < width {
80+ // // frame[utils.linearIdx(shape,(h,w,c))] = frame[utils.linearIdx(shape,(h,w,c-1))];
81+ // // }
82+ // // if h < width {
83+ // // frame[utils.linearIdx(shape,(h,w,0))] *= Math.sin(2.0*t + 5.0 * u) : real(32);
84+ // // }
85+ // color *= (Math.abs(Math.sin(2.0*t + 5.0 * v)) * Math.abs(Math.sin(2.0*t + 5.0 * u))) : real(32);
86+ // }
87+ // return frame;
10988}
11089
11190
0 commit comments