Previous topicNext topic

VideoCaptureDS: Allow video_size entry in Opts box

Suggestions for new features for Magic.
Post Reply
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

VideoCaptureDS: Allow video_size entry in Opts box

Post by Terry Payman »

Please allow -video_size parameters entered into the Opts box to be passed to the capture card. At the moment my GTX1070 system with a high-performance PCIe capture card runs Magic at just 35fps when simply capturing a 1080p source :o

Further to discussions in another place when the VideoCaptureDS (VCDS) module was first introduced in Magic 2.1, a significant performance problem arises where a DirectShow video capture device presents its options as <specific_pixel_format> <range_for_dimensions> <range_for_fps>

In this case the VCDS module forces the maximum video_size regardless of a desired video_size entered in the Opts box. The Magewell PCIe capture cards can upsample spatially so a 1280x720 source would be upsampled to the maximum output size of 2048x2880 before being sent over the PCIe bus, a six-fold increase in bus traffic. I have verified this behaviour by experiment. The attached pic shows the 0.94X and 0.375Y down-scaling needed to give a 1080p output with a 1080p (25fps) source feeding the card, also the 34.8fps Magic frame-rate.
2048x2880 VCDS output.jpg
2048x2880 VCDS output.jpg (108.74 KiB) Viewed 7916 times
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Magic »

I'm not sure I'm understanding. The Size parameter sends its setting as -video_size. Allowing it in the Opts parameter would therefore be redundant (and possibly conflicting). Please clarify?
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Terry Payman »

Eric wrote:...The Size parameter sends its setting as -video_size. Allowing it in the Opts parameter would therefore be redundant (and possibly conflicting). ...
Thanks Eric, I fully appreciate this.

To clarify, I'm requesting that a user entry of video_size value REPLACES the default option of the maximum possible video_size, in order to enable significant reduction of PCIe bus traffic and slightly more efficient use of GPU resources.

Apologies that my request wasn't clear. I'll try to put it in pseudocode:

IF ((capture card presents min and max limits for video size) AND (user has entered "-video_size" in the Opts box))
THEN
{
(send user's video_size + any further Opts entries)
(display the user's chosen video_size as the VCDS Size parameter)
}
ELSE (send Size video_size + any further Opts entries)
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Magic »

I guess I'm still not understanding. Are you trying to get a size that isn't shown in the drop-down box? If so, I think the problem to solve would be: why doesn't that size show up there?

Yes? No?
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Terry Payman »

Yes, there is only one size shown in the dropdown box, the maximum possible.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Magic »

Ok but you are sure the device supports other sizes?

Do you have a screenshot of the ffmpeg diagnostic output you can show me?
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Terry Payman »

Yes, certain of the other sizes. Experimentally any integer dimensions with the valid range are accepted and delivered. There's no output if either the X- or Y-limits are exceeded. Likewise for fps settings. any integer fps within range, no output out of range.

I think the output fps may self-limit to match the system fps. I can set -framerate 1 and get an improvement in Magic fps from 35fps to 59fps, whereas -framerate 250 gives the same Magic 35fps as -framerate 60 or a blank Opts value.
Magewell Pro Capture AIO modes.png
Magewell Pro Capture AIO modes.png (182.45 KiB) Viewed 7887 times
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Magic »

Ok thanks. Based on that information, I think you are right. It's a simple fix for me to allow the user to enter a video_size in the Opts param and have it override the drop-down box in the Size param. You'll have to let me know how it goes though, because I don't think I have any devices to test that operate like yours does.
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: VideoCaptureDS: Allow video_size entry in Opts box

Post by Terry Payman »

Many thanks Eric :D :D :D

I'm very happy to do the testing. I'll get a higher-performance PC up and running so I can try my Magewell board on a different motherboard too.
Post Reply