Wish - GPU coding add new features like Avidemux

I try testing encode in to (new hardware for me) NVIDIA GTX 1660 (chip TU116-300-A1) use some source and different software - Avidemux v2.7.7 Git-e25154309 Win64 and Shotcut v20.07.11 and v20.09.01 DEV.

My test have encoding some DV 1080p @ 30±0,39 Fps (source authoring bug) 37 Mbps source use GPU accelerated encoder and control GPU load process use Process Hacker 3.0 x64 and latest GPU-Z (then possible).

Previously, when working with hardware encoding acceleration, I used only Shotcut on a weaker machine with NVIDIA GTX 1060 3Gb (GP106-300 chip) and therefore did not see any differences in the available options of the editors, but after the upgrade I got a GTX 1660 and installed it on the main machine. check how she will behave at work, incl. in the process of video encoding - first of all, I was interested in the heating of the device and its effect on the operation of the circuit in order to avoid failure caused by the mistakes of fellow circuit designers.

During testing, I found that Shotcut does not currently use all of the device’s capabilities and that adding them would improve the editor’s custom properties.

What’s in Avidemux but what’s missing in Shotcut now?

  1. Avidemux has the ability to use two-pass encoding using a GPU, while Shotcut does not currently have it, but I would like to have it;

  2. When encoding video using GPU Avidemux for H.264, if possible, it uses the High profile, Shotcut only Main, which leads to the loss of part of the color information of the frame. I would like to be able to use the High profile;

  3. If it is technically possible, then speed up the coding algorithms by parallelizing them with adaptive tuning to the capabilities of the GPU.

At the moment, both editors partially use the GPU - the most that I have seen are three - four clusters of twelve and the time of two pass-through H.264 and H.265 encoding and recording to the HDD encoded in 1080p @ 30 fps, 9187 Kbps file with a duration of 01:36 : 00 equals 21 minutes 19 seconds in Avidemux.

Shotcut calculated the same task in about ten minutes, but with single-pass encoding, the output file turned out to be larger, which was expected, but if Avidemux used two-pass encoding with the BlueRay preset, then Shotcut only had one-pass.

If we consider the same task on the CPU, then it will be much longer :slight_smile: - I recently played a cruel joke with myself by setting Avidemux to count an hour and a half video and setting the Noise reduction filter in the chain by 5x5 matrix - because of it the task was considered without minutes two days by car with Xeon E5-2667 / С602J / 16 Gb REG ECC DDR3-1866 / GTX 1060 with four HDD Seagate Constellan ES.2 2Tb. :slight_smile:

This is only forced for VA-API on Linux. Otherwise, it is automatic/default per the the particular hardware encoder, and you can try to override it in Other with vprofile=high. Otherwise, main profile has very little impact on the colors compared with high:

Good, there are no special problems with color, the maximum will tinker with the calibration of the scanner - machine - monitor path. for a black and white printer, this work is meaningless. But it is very desirable to have the possibility of two-pass hardware encoding, especially taking into account the errors constantly emerging in Avidemux.