Git Product home page Git Product logo

qsvenc's Introduction

QSVEnc

by rigaya

Build Windows Releases Build Linux Packages

日本語版はこちら>>

This software is meant to investigate performance and image quality of HW encoder (QSV) of Intel. There are 2 types of software developed, one is command line version that runs independently, and the nother is a output plug-in of Aviutl.

  • QSVEncC.exe ... Command line version supporting transcoding.
  • QSVEnc.auo ... Output plugin for Aviutl.

Downloads & update history

rigayaの日記兼メモ帳>>
github releases

Install

Install instructions for Windows and Linux

Build

Build instructions for Windows and Linux

System Requirements

Windows

Windows 10/11 (x86/x64)
Aviutl 1.00 or later (QSVEnc.auo)

Linux

Debian/Ubuntu (QSVEncC)
Fedora (QSVEncC)
Requires Broadwell CPU or later.
It may be possible to run on other distributions (not tested).

Precautions for using QSVEnc

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.

Usage and options of QSVEncC

Option list and details of QSVEncC

Major Features

Common to QSVEnc.auo / QSVEncC

  • Encoding using QuickSyncVideo
    • H.264/AVC
    • H.265/HEVC (8bit/10bit)
    • MPEG2
    • VP9 (8bit/10bit)
    • AV1 (8bit/10bit)
  • Encode mode of QuickSyncVideo
    • CQP (Fixed Quantization)
    • CBR (Constant bitrate)
    • VBR (Variable bitrate)
    • AVBR (Adaptive Variable bitrate)
    • QVBR (Quality based Variable bitrate)
    • LA (Lookahead mode)
    • LA-HRD (HRD compatible Lookahead mode)
    • ICQ (Constant Quality)
    • LA-ICQ (Constant Quality with Lookahead)
    • VCM (Video Conference mode)
  • Quality preset of 7 steps
  • Interlaced encoding (by PAFF)
  • Supports setting of codec profile & level, SAR, colormatrix, maxbitrate, GOP len, etc...
  • Calculation of ssim/psnr of the encode
  • Supports various vpp(video pre-processing) filters
    • MFX (Media Fixed function) filters
      • resize
      • deinterlace (normal / bob / it)
      • detail enhancement
      • denoise
      • image stablizier
    • OpenCL filters
      • deinterlacer
        • afs (Automatic field shift)
        • nnedi
      • decimate
      • mpdecimate
      • colorspace conversion
        • hdr2sdr
      • delogo
      • subburn
      • resize
        • bilinear
        • spline16, spline36, spline64
        • lanczos2, lanczos3, lanczos4
      • transpose / rotate / flip
      • padding
      • deband
      • noise reduction
        • knn (K-nearest neighbor)
        • pmd (modified pmd method)
      • edge / detail enhancement
        • unsharp
        • edgelevel (edge ​​level adjustment)
        • warpsharp

QSVEncC

  • Supports QSV(hw) decoding
    • MPEG2
    • H.264/AVC
    • HEVC
    • VP8
    • VP9
    • AV1
  • Supports various formats such as avs, vpy, y4m, and raw
  • Supports demux/muxing using libavformat
  • Supports decode using libavcodec

QSVEnc.auo (Aviutl plugin)

  • Audio encoding
  • Mux audio and chapter
  • afs (Automatic field shift) support

QSVEnc.auo

Supported Features

This depends on the version of QSVEnc, the generation of the GPU, and also the GPU driver.

CPU Gen GPU Gen Windows Linux
SandyBridge Gen6 i5 2410M
IvyBridge Gen7
Haswell Gen7.5 i3 4170 i7 4610Y
Broadwell Gen8 i7 5500U i7 5500U
SkyLake Gen9
KabyLake Gen9.5 i5 7500 i7 7700K
CoffeeLake Gen9.5
CommetLake Gen9.5
Cannonlake Gen10
IceLake Gen11 i5 1035G7 i5 1035G7
TigerLake Gen12
RocketLake Gen12 i7 11700K i7 11700K
AlderLake Gen12 i9 12900K i3 N305 i9 12900K
DG2 Arc A380

Supported HW Encoder (@ Windows OS)

CPU Gen GPU Gen MPEG2 H.264 PG H.264 FF HEVC PG HEVC FF VP9 FF AV1 FF
SandyBridge Gen6 8bit 8bit
IvyBridge Gen7 8bit 8bit
Haswell Gen7.5 8bit 8bit
Broadwell Gen8 8bit 8bit
SkyLake Gen9 8bit 8bit 8bit
KabyLake Gen9.5 8bit 8bit 8bit 10bit
CoffeeLake Gen9.5 8bit 8bit 8bit 10bit
CommetLake Gen9.5 8bit 8bit 8bit 10bit
CannonLake Gen10 - - - - - - -
IceLake Gen11 8bit 8bit 8bit 10bit 10bit 10bit
TigerLake Gen12 8bit 8bit 8bit 10bit 10bit 10bit
RocketLake Gen12 8bit 8bit 8bit 10bit 10bit 10bit
AlderLake Gen12 8bit 8bit 8bit 10bit 10bit 10bit
DG2 8bit 10bit 10bit 10bit

Supported HW Decoder

CPU Gen GPU Gen MPEG2 H.264 HEVC VP8 VP9 AV1
SandyBridge Gen6 8bit 8bit
IvyBridge Gen7 8bit 8bit
Haswell Gen7.5 8bit 8bit
Broadwell Gen8 8bit 8bit 8bit
SkyLake Gen9 8bit 8bit 8bit 8bit
KabyLake Gen9.5 8bit 8bit 10bit 8bit 8bit
CoffeeLake Gen9.5 8bit 8bit 10bit 8bit 8bit
CommetLake Gen9.5 8bit 8bit 10bit 8bit 8bit
CannonLake Gen10 - - - - - -
IceLake Gen11 8bit 8bit 10bit 8bit 10bit
TigerLake Gen12 8bit 8bit 12bit 12bit 10bit
RocketLake Gen12 8bit 8bit 12bit 12bit 10bit
AlderLake Gen12 8bit 8bit 12bit 12bit 10bit
DG2 8bit 8bit 12bit 12bit 12bit

Auto GPU selection in multi GPU envinronment (Windows Only)

QSVEncC will automatically select a GPU depending on the options used, when there are multiple GPUs available which support QSV. --device option can be used to specify on which GPU to run manually.

  1. Select GPU which supports...
    Items below will be checked whether the GPU supports it or not
  • Codec, Profile, Level
  • Additionally, below items will be checked if specified
    • 10bit depth encoding
    • HW decode
  1. If there are multiple GPUs which suports all the items checked in 1. and 2., GPU below will be prefered.
  • GPU which has low Video Engine(VE) utilization
  • GPU which has low GPU core utilization

The purpose of selecting GPU with lower VE/GPU ulitization is to assign tasks to mulitple GPUs and improve the throughput of the tasks.

Please note that VE and GPU ulitization are check at the initialization pahse of the app, and there are delays in values taken. Therefore, it is likely that the multiple tasks started at the same time to run on the same GPU, and divided into multiple GPUs, even if the options are supported in every GPUs.

QSVEnc source code

About source code

Windows ... VC build
Linux ... makefile + gcc/clang build

Character code: UTF-8-BOM
Line feed: CRLF
Indent: blank x4

qsvenc's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qsvenc's Issues

Scaling happens before deinterlacing

First of all thanks for this wonderful tool, really helpful :-)

I've not found a way so set the order of deinterlacing and scaling. It seems that scaling is always applied first. Unfortunately this results in combing artefacts and no deinterlacing at all.

Use case: Deinterlace and scale 1920x1080i to 720p
Version used: 4.08
OS: Windows 10
GPU: Intel HD520
Input: 1920x1080i50 (MP4 and ProRes)

Command:
QSVEncC64.exe -i prores_1080i50_sample.mov --vpp-deinterlace bob --output-res 1280x720 -o output.mp4
or
QSVEncC64.exe -i prores_1080i50_sample.mov --output-res 1280x720 --vpp-deinterlace bob -o output.mp4

Expected result:
Clean 1280x720p
Actual result:
Combing artefacts due to scaling before deinterlacing. Not really deinterlaced.

Is there a way to change the order of scaling/deinterlacing or is it just not possible at the moment to do these both steps in one run with qsvenc?

QSV "Live" transcoding

Is it possible to be added option to transcode live streams?
ex:
V4L2 capture devices
UDP/TCP network stream
PIPE

Encoding in AAC HE-AACv2 creates unplayable Audio

Encoding Audio to AAC HE-AACv2 creates unplayable Audio.

syntax:
--audio-codec 1?aac --audio-profile HE-AACv2
Checking with MEdia Info it shows the below:

Audio
ID                                       : 2
Format                                   : mp4a-40-29
Codec ID                                 : mp4a-40-29

Playing the Audio in any player does not work.

Encoding to AAC without any profiles and checking in Media Info

using syntax:
--audio-codec 1?aac
shows:

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2

Compiling errors with latest Ubuntu 19.04

Hi Rigaya, i'm trying to compile QSVEncc on Linux Ubuntu 19.04 and it trow some errors and stop could u take a look for me?
make
g++ -c -Wall -Wno-attributes -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused -DLINUX -DUNIX -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -D__STDC_CONSTANT_MACROS -I. -I./mfx_dispatch/include -I./MediaSDK/include -I./QSVPipeline -I./QSVPlugins -I./tinyxml2 -I./ChapterRW -I./ttmath -DLINUX64 -m64 -pthread -std=c++11 -march=native -mtune=native -O3 -DNDEBUG=1 -mfpmath=sse -fexcess-precision=fast -ffast-math -fomit-frame-pointer -DLIBVA_SUPPORT -DLIBVA_DRM_SUPPORT -o QSVPipeline/convert_csp_sse2.o QSVPipeline/convert_csp_sse2.cpp
QSVPipeline/convert_csp_sse2.cpp: In function ‘void convert_gbr_to_rgb32_sse2(void**, const void**, int, int, int, int, int, int, int, int, int*)’:
QSVPipeline/convert_csp_sse2.cpp:62:172: error: no matching function for call to ‘convert_rgb_to_rgb32_simd<((((-1 << 24) | (2 << 16)) | (0 << 8)) | 1)>(void**&, const void**&, int&, int&, int&, int&, int&, int&, int&, int&, int*&)’
_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^

In file included from QSVPipeline/convert_csp_sse2.cpp:33:
QSVPipeline/convert_csp_simd.h:676:27: note: candidate: ‘template void convert_rgb_to_rgb32_simd(void**, const void**, int, int, int, int, int, int, int, int, int*)’
static void __forceinline convert_rgb_to_rgb32_simd(void **dst, const void **src, int width, int src_y_pitch_byte, int src_uv_pitch_byte, int dst_y_pitch_byte, int height, int dst_height, int thread_id, int thread_n, int *crop) {
^~~~~~~~~~~~~~~~~~~~~~~~~
QSVPipeline/convert_csp_simd.h:676:27: note: template argument deduction/substitution failed:
QSVPipeline/convert_csp_simd.h:389:42: error: left operand of shift expression ‘(-1 << 24)’ is negative [-fpermissive]
#define RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~^~~~~~
QSVPipeline/convert_csp_sse2.cpp:62:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb_to_rgb32_simd<RGB_PLANE(1, 0, 2, -1)>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_simd.h:389:78: note: in template argument for type ‘unsigned int’
e RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

QSVPipeline/convert_csp_sse2.cpp:62:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb_to_rgb32_simd<RGB_PLANE(1, 0, 2, -1)>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_sse2.cpp: In function ‘void convert_rgb32_to_rgb_sse2(void**, const void**, int, int, int, int, int, int, int, int, int*)’:
QSVPipeline/convert_csp_sse2.cpp:66:179: error: no matching function for call to ‘convert_rgb32_to_rgb_simd<((((-1 << 24) | (0 << 16)) | (1 << 8)) | 2), false>(void**&, const void**&, int&, int&, int&, int&, int&, int&, int&, int&, int*&)’
_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^

In file included from QSVPipeline/convert_csp_sse2.cpp:33:
QSVPipeline/convert_csp_simd.h:607:27: note: candidate: ‘template<unsigned int plane_from, bool source_reverse> void convert_rgb32_to_rgb_simd(void**, const void**, int, int, int, int, int, int, int, int, int*)’
static void __forceinline convert_rgb32_to_rgb_simd(void **dst, const void **src, int width, int src_y_pitch_byte, int src_uv_pitch_byte, int dst_y_pitch_byte, int height, int dst_height, int thread_id, int thread_n, int *crop) {
^~~~~~~~~~~~~~~~~~~~~~~~~
QSVPipeline/convert_csp_simd.h:607:27: note: template argument deduction/substitution failed:
QSVPipeline/convert_csp_simd.h:389:42: error: left operand of shift expression ‘(-1 << 24)’ is negative [-fpermissive]
#define RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~^~~~~~
QSVPipeline/convert_csp_sse2.cpp:66:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb32_to_rgb_simd<RGB_PLANE(2, 1, 0, -1), false>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_simd.h:389:78: note: in template argument for type ‘unsigned int’
e RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

QSVPipeline/convert_csp_sse2.cpp:66:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb32_to_rgb_simd<RGB_PLANE(2, 1, 0, -1), false>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_sse2.cpp: In function ‘void convert_bgr32_to_rgb_sse2(void**, const void**, int, int, int, int, int, int, int, int, int*)’:
QSVPipeline/convert_csp_sse2.cpp:70:179: error: no matching function for call to ‘convert_rgb32_to_rgb_simd<((((-1 << 24) | (2 << 16)) | (1 << 8)) | 0), false>(void**&, const void**&, int&, int&, int&, int&, int&, int&, int&, int&, int*&)’
_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^

In file included from QSVPipeline/convert_csp_sse2.cpp:33:
QSVPipeline/convert_csp_simd.h:607:27: note: candidate: ‘template<unsigned int plane_from, bool source_reverse> void convert_rgb32_to_rgb_simd(void**, const void**, int, int, int, int, int, int, int, int, int*)’
static void __forceinline convert_rgb32_to_rgb_simd(void **dst, const void **src, int width, int src_y_pitch_byte, int src_uv_pitch_byte, int dst_y_pitch_byte, int height, int dst_height, int thread_id, int thread_n, int *crop) {
^~~~~~~~~~~~~~~~~~~~~~~~~
QSVPipeline/convert_csp_simd.h:607:27: note: template argument deduction/substitution failed:
QSVPipeline/convert_csp_simd.h:389:42: error: left operand of shift expression ‘(-1 << 24)’ is negative [-fpermissive]
#define RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~^~~~~~
QSVPipeline/convert_csp_sse2.cpp:70:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb32_to_rgb_simd<RGB_PLANE(0, 1, 2, -1), false>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_simd.h:389:78: note: in template argument for type ‘unsigned int’
e RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

QSVPipeline/convert_csp_sse2.cpp:70:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb32_to_rgb_simd<RGB_PLANE(0, 1, 2, -1), false>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_sse2.cpp: In function ‘void convert_rgb32r_to_rgb_sse2(void**, const void**, int, int, int, int, int, int, int, int, int*)’:
QSVPipeline/convert_csp_sse2.cpp:74:178: error: no matching function for call to ‘convert_rgb32_to_rgb_simd<((((-1 << 24) | (0 << 16)) | (1 << 8)) | 2), true>(void**&, const void**&, int&, int&, int&, int&, int&, int&, int&, int&, int*&)’
_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^

In file included from QSVPipeline/convert_csp_sse2.cpp:33:
QSVPipeline/convert_csp_simd.h:607:27: note: candidate: ‘template<unsigned int plane_from, bool source_reverse> void convert_rgb32_to_rgb_simd(void**, const void**, int, int, int, int, int, int, int, int, int*)’
static void __forceinline convert_rgb32_to_rgb_simd(void **dst, const void **src, int width, int src_y_pitch_byte, int src_uv_pitch_byte, int dst_y_pitch_byte, int height, int dst_height, int thread_id, int thread_n, int *crop) {
^~~~~~~~~~~~~~~~~~~~~~~~~
QSVPipeline/convert_csp_simd.h:607:27: note: template argument deduction/substitution failed:
QSVPipeline/convert_csp_simd.h:389:42: error: left operand of shift expression ‘(-1 << 24)’ is negative [-fpermissive]
#define RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~^~~~~~
QSVPipeline/convert_csp_sse2.cpp:74:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb32_to_rgb_simd<RGB_PLANE(2, 1, 0, -1), true>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_simd.h:389:78: note: in template argument for type ‘unsigned int’
e RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

QSVPipeline/convert_csp_sse2.cpp:74:31: note: in expansion of macro ‘RGB_PLANE’
convert_rgb32_to_rgb_simd<RGB_PLANE(2, 1, 0, -1), true>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_sse2.cpp: In function ‘void copy_rgb_to_rgb_sse2(void**, const void**, int, int, int, int, int, int, int, int, int*)’:
QSVPipeline/convert_csp_sse2.cpp:94:162: error: no matching function for call to ‘copy_rgb_to_rgb<((((-1 << 24) | (2 << 16)) | (1 << 8)) | 0)>(void**&, const void**&, int&, int&, int&, int&, int&, int&, int&, int&, int*&)’
_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^

In file included from QSVPipeline/convert_csp_sse2.cpp:33:
QSVPipeline/convert_csp_simd.h:891:6: note: candidate: ‘template void copy_rgb_to_rgb(void**, const void**, int, int, int, int, int, int, int, int, int*)’
void copy_rgb_to_rgb(void **dst, const void **src, int width, int src_y_pitch_byte, int src_uv_pitch_byte, int dst_y_pitch_byte, int height, int dst_height, int thread_id, int thread_n, int *crop) {
^~~~~~~~~~~~~~~
QSVPipeline/convert_csp_simd.h:891:6: note: template argument deduction/substitution failed:
QSVPipeline/convert_csp_simd.h:389:42: error: left operand of shift expression ‘(-1 << 24)’ is negative [-fpermissive]
#define RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~^~~~~~
QSVPipeline/convert_csp_sse2.cpp:94:21: note: in expansion of macro ‘RGB_PLANE’
copy_rgb_to_rgb<RGB_PLANE(0, 1, 2, -1)>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_simd.h:389:78: note: in template argument for type ‘unsigned int’
e RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

QSVPipeline/convert_csp_sse2.cpp:94:21: note: in expansion of macro ‘RGB_PLANE’
copy_rgb_to_rgb<RGB_PLANE(0, 1, 2, -1)>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_sse2.cpp: In function ‘void copy_gbr_to_rgb_sse2(void**, const void**, int, int, int, int, int, int, int, int, int*)’:
QSVPipeline/convert_csp_sse2.cpp:98:162: error: no matching function for call to ‘copy_rgb_to_rgb<((((-1 << 24) | (1 << 16)) | (0 << 8)) | 2)>(void**&, const void**&, int&, int&, int&, int&, int&, int&, int&, int&, int*&)’
_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^

In file included from QSVPipeline/convert_csp_sse2.cpp:33:
QSVPipeline/convert_csp_simd.h:891:6: note: candidate: ‘template void copy_rgb_to_rgb(void**, const void**, int, int, int, int, int, int, int, int, int*)’
void copy_rgb_to_rgb(void **dst, const void **src, int width, int src_y_pitch_byte, int src_uv_pitch_byte, int dst_y_pitch_byte, int height, int dst_height, int thread_id, int thread_n, int *crop) {
^~~~~~~~~~~~~~~
QSVPipeline/convert_csp_simd.h:891:6: note: template argument deduction/substitution failed:
QSVPipeline/convert_csp_simd.h:389:42: error: left operand of shift expression ‘(-1 << 24)’ is negative [-fpermissive]
#define RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~^~~~~~
QSVPipeline/convert_csp_sse2.cpp:98:21: note: in expansion of macro ‘RGB_PLANE’
copy_rgb_to_rgb<RGB_PLANE(2, 0, 1, -1)>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
QSVPipeline/convert_csp_simd.h:389:78: note: in template argument for type ‘unsigned int’
e RGB_PLANE(x0, x1, x2, x3) (((x3) << 24) | ((x2) << 16) | ((x1) << 8) | (x0))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

QSVPipeline/convert_csp_sse2.cpp:98:21: note: in expansion of macro ‘RGB_PLANE’
copy_rgb_to_rgb<RGB_PLANE(2, 0, 1, -1)>(dst, src, width, src_y_pitch_byte, src_uv_pitch_byte, dst_y_pitch_byte, height, dst_height, thread_id, thread_n, crop);
^~~~~~~~~
make: *** [makefile:16: QSVPipeline/convert_csp_sse2.o] Error 1

Thank You

Fixed function encoding on Ice Lake i7-1065g7 laptop

Hi rigaya,

Many thanks for your QuickSync support!

I seek your opinion on the following issue I have. I am using StaxRip (which uses the QSVEnc app) to encode using the "fixed-function" method and bypassing the GPU execution units. I think this method uses the ASIC chip on the laptop - encode speeds are very fast (over 500fps for h264 @720p and 350fps for h265 10bit), and quality is also very good (perhaps the new Ice Lake hardware has improved a lot??). When encoding to h264, changing the ICQ (Intelligent Constant Quality) level (say from 25 to 22), works in that changing that setting affects the resulting file size/quality. However, when encoding to h265 (using same settings), changing the ICQ level does not change the output file size.

I would have expected changing ICQ level to affect output size. It works for h264 but not for h265.

I have posted this question also on the StaxRip forum. Do you think this is an Intel issue, or is it StaxRip or a QSVEnc issue? I am using QSVEnc v3.30. Thanks.

I've posted an example of the StaxRip log below showing a quick test.

UPDATE: It works for h265 and fixed-func if you set the encode method to QVBR-q or VBR. Changing the quality setting, (or bit rate for VBR), does affect the output file size. Still no joy with ICQ and h265.

D:\StaxRip\Apps\Encoders\QSVEnc\QSVEncC64.exe --avhw --codec hevc --quality best --profile main10 --fixed-func --icq 22 --crop 2,140,2,140 --output-res 1280x536 --trim 0:1956 -i "C:\Users\mark_\Videos\Star Trek Into Darkness.mkv" -o "C:\Users\mark_\Videos\Star Trek Into Darkness_temp\Star Trek Into Darkness_out.hevc"


B pyramid on IvyBridge generation might cause artifacts, please check your encoded video.
vidprm.mfx.GopRefDist value changed 4 -> 1 by driver
vidprm.mfx.TimeStampCalc value changed 4 -> 1 by driver
cop2.BRefType value changed 2 -> 1 by driver
cop3.DirectBiasAdjustment value changed off -> auto by driver
cop3.GlobalMotionBiasAdjustment value changed off -> auto by driver
QSVEncC (x64) 3.30 (r1724) by rigaya, Feb 1 2020 23:59:30 (VC 1916/Win/avx2)
OS Windows 10 x64 (18363)
CPU Info Intel Core i7-1065G7 @ 1.30GHz [TB: 3.89GHz] (4C/8T)
GPU Info Intel Iris(R) Plus Graphics (64EU) 300-1100MHz [15W] (26.20.100.7755)
Media SDK QuickSyncVideo (hardware encoder) FF, 1st GPU, API v1.30
Async Depth 6 frames
Buffer Memory d3d9, 1 input buffer, 30 work buffer
Input Info avqsv: H.264/AVC, 1920x1080, 24000/1001 fps
Crop 2,140,2,140 (1920x1080 -> 1916x800)
VPP Enabled ColorFmtConvertion: nv12 -> p010
Resizer, 1920x1080 -> 1280x536
Trim 0-1956 [offset: 0]
AVSync cfr
Output HEVC main10 @ Level 3.1
1280x536p 1:1 23.976fps (24000/1001fps)
Target usage 1 - best
Encode Mode ICQ (Intelligent Const. Quality)
ICQ Quality 22
QP Limit min: none, max: none
Trellis Auto
Ref frames 3 frames
Bframes none
Max GOP Length 240 frames
Ext. Features WeightP WeightB tskip ctu:64 sao:all

Start: 23:24:36
End: 23:27:08
Duration: 00:02:32

Is --input-thread still supported in QSVEnc?

Hello rigaya,

is --input-thread still supported in QSVEnc? It's found in the online help but not in the console help.

StaxRip includes 200 tools and it's sometimes difficult to test all tools. It would help staxrip maintenance a lot if you had a test to detect such issues, I've tests for all your tools and many other tools like x265 and constantly find issues which leads to many issues with staxrip.

https://github.com/staxrip/staxrip/blob/master/General/Test.vb

GPUZ_SH_MEM defined for Windows only

rgy_perf_monitor.h uses the GPUZ_SH_MEM type, but the type is defined in gpuz_info.h and is only made available on Win32 or Win64, so the project cannot build on Linux.

About features and MediaSDK support on linux ubuntu 19.04

Hi rigaya

I tried a fresh Intel Media SDK install and compiled latest QSVEncc on linux ubuntu 19.04
compilation is fine however i cant get support for hevc encoding on Kabylake Platform, if i use MediaSDK samples are working but QSVEncc dont detect HEVC and H264 are all X
I have added my command line options

qsvencc --check-features
Checking for QSV...
QSVEncC (x64) 3.25 (r1641) by rigaya, Sep 16 2019 22:28:47 (gcc 8.3.0/Linux/avx2)
reader: raw, avqsv [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, VC-1]
vpp: resize, deinterlace, denoise, detail-enhance, image-stab, delego
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
No LSB modules are available.
Environment Info
OS : Ubuntu 19.04 x64
CPU: Intel Core i7-7700 @ 3.60GHz [TB: infGHz] (4C/8T)
RAM: Used 4543 MB, Total 6909 MB
GPU: Intel Graphics / Driver : Intel iHD driver - 19.1.0.git_42f6f23_2019-04-23

No LSB modules are available.
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
libva info: va_openDriver() returns 0
Media SDK Version: Hardware API v1.30

Supported Enc features:
Codec: H.264/AVC
CBR VBR AVBR QVBR CQP LA LAHRD ICQ LAICQ VCM
RC mode x x x x x x x x x x
10bit depth x x x x x x x x x x
Fixed Func x x x x x x x x x x
Interlace x x x x x x x x x x
VUI info x x x x x x x x x x
Trellis x x x x x x x x x x
Adaptive_I x x x x x x x x x x
Adaptive_B x x x x x x x x x x
WeightP x x x x x x x x x x
WeightB x x x x x x x x x x
FadeDetect x x x x x x x x x x
B_Pyramid x x x x x x x x x x
+ManyBframes x x x x x x x x x x
PyramQPOffset x x x x x x x x x x
MBBRC x x x x x x x x x x
ExtBRC x x x x x x x x x x
Adaptive_LTR x x x x x x x x x x
LA Quality x x x x x x x x x x
QP Min/Max x x x x x x x x x x
IntraRefresh x x x x x x x x x x
No Deblock x x x x x x x x x x
No GPB x x x x x x x x x x
Windowed BRC x x x x x x x x x x
PerMBQP(CQP) x x x x x x x x x x
DirectBiasAdj x x x x x x x x x x
MVCostScaling x x x x x x x x x x
SAO x x x x x x x x x x
Max CTU Size x x x x x x x x x x
TSkip x x x x x x x x x x

libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
Supported Vpp features:

Resize o
Deinterlace o
Scaling Quality o
Denoise o
Mctf o
Rotate x
Mirror o
Detail Enhancement o
Proc Amp. o
Image Stabilization o
Video Signal Info o
FPS Conversion o
FPS Conversion (Adv.) o

libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: User requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
Supported Decode features:

        H.264 HEVC MPEG2 VP8  VP9  VC-1 

HW Decode o x o x x o
10bit depth x x x x x x

qsvencc --check-hw
Success: QuickSyncVideo (hw encoding) available

qsvencc --check-lib
QSVEncC (x64) 3.25 (r1641) by rigaya, Sep 16 2019 22:28:47 (gcc 8.3.0/Linux/avx2)
reader: raw, avqsv [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, VC-1]
vpp: resize, deinterlace, denoise, detail-enhance, image-stab, delego
libmfxhw64.dll : v1.30
libmfxsw64.dll : ----

Can u try to fix it?

Regards

thx4ever

Kaby Lake not supporting HEVC 10?

QSVEncC64.exe --check-features
Checking for QSV...
QSVEncC (x64) 2.73 (r1351) by rigaya, Aug 22 2017 21:54:47 (VC 1900/Win/avx2)
 reader: raw, avi, avs, vpy, avqsv [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9, VC-1]
Environment Info
OS : Windows 10 x64 (16299)
CPU: Intel Core i7-7700HQ @ 2.80GHz [TB: 3.78GHz] (4C/8T) <Kabylake>
RAM: Used 3789 MB, Total 16239 MB
GPU: Intel HD Graphics 630 (24EU) 350-1100MHz [45W] (23.20.16.4901)

Media SDK Version: Hardware API v1.25

Supported Enc features:
Codec: H.264/AVC
             CBR   VBR   AVBR  QVBR  CQP   VQP   LA    LAHRD ICQ   LAICQ VCM
RC mode       o     o     o     o     o     o     o     o     o     o     o
10bit depth   x     x     x     x     x     x     x     x     x     x     x
Fixed Func    o     o     o     o     o     o     x     x     x     x     o
Interlace     o     o     o     o     o     o     o     o     o     o     x
SceneChange   o     o     o     o     o     o     x     x     o     x     o
VUI info      o     o     o     o     o     o     o     o     o     o     o
Trellis       o     o     o     o     o     o     o     o     o     o     o
Adaptive_I    x     x     x     x     x     x     x     x     x     x     x
Adaptive_B    x     x     x     x     x     x     x     x     x     x     x
WeightP       o     o     o     o     o     o     o     o     o     o     o
WeightB       o     o     o     o     o     o     o     o     o     o     o
FadeDetect    o     o     o     o     o     o     o     o     o     o     o
B_Pyramid     o     o     o     o     o     x     o     x     o     o     o
 +Scenechange x     x     x     x     x     x     x     x     x     x     x
 +ManyBframes o     o     o     o     o     x     x     x     o     x     o
PyramQPOffset x     x     x     x     x     x     x     x     x     x     x
Ext_BRC       o     o     x     x     x     x     x     x     x     x     x
MBBRC         o     o     o     o     x     x     x     x     o     x     o
LA Quality    x     x     x     x     x     x     o     o     x     o     x
QP Min/Max    o     o     o     o     o     o     o     o     o     o     o
IntraRefresh  x     x     x     x     x     x     x     x     x     x     x
No Deblock    x     x     x     x     x     x     x     x     x     x     x
No GPB        x     x     x     x     x     x     x     x     x     x     x
Windowed BRC  x     x     x     x     x     x     o     o     x     x     x
PerMBQP(CQP)  x     x     x     x     o     o     x     x     x     x     x
DirectBiasAdj x     x     x     x     x     x     x     x     x     x     x
MVCostScaling x     x     x     x     x     x     x     x     x     x     x



Codec: HEVC
             CBR   VBR   AVBR  QVBR  CQP   VQP   LA    LAHRD ICQ   LAICQ VCM
RC mode       o     o     x     x     o     o     x     x     o     x     o
10bit depth   x     x     x     x     x     x     x     x     x     x     x
Fixed Func    x     x     x     x     x     x     x     x     x     x     x
Interlace     x     x     x     x     x     x     x     x     x     x     x
SceneChange   o     o     x     x     o     o     x     x     o     x     o
VUI info      o     o     x     x     o     o     x     x     o     x     o
Trellis       x     x     x     x     x     x     x     x     x     x     x
Adaptive_I    x     x     x     x     x     x     x     x     x     x     x
Adaptive_B    x     x     x     x     x     x     x     x     x     x     x
WeightP       o     o     x     x     o     o     x     x     o     x     o
WeightB       x     x     x     x     x     x     x     x     x     x     x
FadeDetect    x     x     x     x     x     x     x     x     x     x     x
B_Pyramid     x     x     x     x     x     x     x     x     x     x     x
 +Scenechange x     x     x     x     x     x     x     x     x     x     x
 +ManyBframes x     x     x     x     x     x     x     x     x     x     x
PyramQPOffset x     x     x     x     o     o     x     x     x     x     x
Ext_BRC       o     o     x     x     x     x     x     x     x     x     x
MBBRC         o     o     x     x     x     x     x     x     o     x     o
LA Quality    x     x     x     x     x     x     x     x     x     x     x
QP Min/Max    x     x     x     x     x     x     x     x     x     x     x
IntraRefresh  o     o     x     x     o     o     x     x     o     x     o
No Deblock    o     o     x     x     o     o     x     x     o     x     o
No GPB        o     o     x     x     o     o     x     x     o     x     o
Windowed BRC  x     x     x     x     x     x     x     x     x     x     x
PerMBQP(CQP)  o     o     x     x     x     x     x     x     o     x     o
DirectBiasAdj x     x     x     x     x     x     x     x     x     x     x
MVCostScaling x     x     x     x     x     x     x     x     x     x     x



Codec: MPEG2
             CBR   VBR   AVBR  QVBR  CQP   VQP   LA    LAHRD ICQ   LAICQ VCM
RC mode       o     o     o     x     o     o     x     x     x     x     x
10bit depth   x     x     x     x     x     x     x     x     x     x     x
Fixed Func    o     o     o     x     o     o     x     x     x     x     x
Interlace     o     o     o     x     o     o     x     x     x     x     x
SceneChange   o     o     o     x     o     o     x     x     x     x     x
VUI info      o     o     o     x     o     o     x     x     x     x     x
Trellis       o     o     o     x     o     o     x     x     x     x     x
Adaptive_I    o     o     o     x     o     o     x     x     x     x     x
Adaptive_B    o     o     o     x     o     o     x     x     x     x     x
WeightP       x     x     x     x     x     x     x     x     x     x     x
WeightB       x     x     x     x     x     x     x     x     x     x     x
FadeDetect    x     x     x     x     x     x     x     x     x     x     x
B_Pyramid     o     o     o     x     o     x     x     x     x     x     x
 +Scenechange x     x     x     x     x     x     x     x     x     x     x
 +ManyBframes o     o     o     x     o     x     x     x     x     x     x
PyramQPOffset x     x     x     x     x     x     x     x     x     x     x
Ext_BRC       o     o     o     x     x     x     x     x     x     x     x
MBBRC         o     o     o     x     x     x     x     x     x     x     x
LA Quality    x     x     x     x     x     x     x     x     x     x     x
QP Min/Max    o     o     o     x     o     o     x     x     x     x     x
IntraRefresh  o     o     o     x     o     o     x     x     x     x     x
No Deblock    o     o     o     x     o     o     x     x     x     x     x
No GPB        x     x     x     x     x     x     x     x     x     x     x
Windowed BRC  o     o     o     x     o     o     x     x     x     x     x
PerMBQP(CQP)  x     x     x     x     x     x     x     x     x     x     x
DirectBiasAdj o     o     o     x     o     o     x     x     x     x     x
MVCostScaling o     o     o     x     o     o     x     x     x     x     x



Supported Vpp features:

Resize                o
Deinterlace           o
Scaling Quality       o
Denoise               o
Rotate                x
Mirror                x
Detail Enhancement    o
Proc Amp.             o
Image Stabilization   x
Video Signal Info     o
FPS Conversion        o
FPS Conversion (Adv.) o


Supported Decode features:

            H.264 HEVC MPEG2 VP8  VP9  VC-1
HW Decode      o    o    o    o    o    o
10bit depth    x    o    x    x    o    x

QSVEnc 3.06 option error for colorprim and transfer

I get these two errors

Error: Unknown value "bt2020" for "--colorprim"
Error: Unknown value "smpte2084" for "--transfer"

I take a look in qsv_prm.h, these values are missing

Version QSVEnc 3.03 is working, all versions after have these problems

Linux compilation errors

Hi
I'm trying to compile QSVEnc in linux UBUNTU 16.04 LTS and get errors when compiling the source
My configure options
thx4ever@ubuntu:~/QSVEnc$ ./configure
checking for g++...OK
checking for pthread...OK
checking for c++11 support...OK
checking for ...OK
checking for ...OK
checking for ...OK
checking for ...OK
checking for <type_traits>...OK
checking for ...OK
checking for lambda...OK
checking for nullptr...OK
checking for range based for...OK
checking for alignas(n)...OK
checking for compiler SSE4.1 support...OK
checking for system SSE4.1 support...OK
checking for __rdtscp()...yes
configuring for speed...
checking for libva...yes
checking --extra-cflags...OK
checking --extra-ldflags...OK
checking for pkg-config...OK
checking libavcodec with pkg-config...libs could not be detected by pkg-config. [ PKG_CONFIG_PATH=:/usr/local/lib/pkgconfig ]
lib settings might be inaqurate.
checking for libavutil..no
checking for libavcodec...no
checking for libavformat...no
checking for libavfilter...no
checking for libswresample...no
checking vapoursynth with pkg-config...libs could not be detected by pkg-config. [ PKG_CONFIG_PATH=:/usr/local/lib/pkgconfig ]
checking for VapourSynth.h...no
checking for VSScript.h...no
checking avxsynth with pkg-config...libs could not be detected by pkg-config. [ PKG_CONFIG_PATH=:/usr/local/lib/pkgconfig ]
checking for avxsynth_c.h...no
checking libass with pkg-config...OK
checking for ass/ass.h...yes
checking for dtl/dtl.hpp...yes

Creating config.mak, qsv_config.h...
SRCDIR = .
CXX = g++
LD = g++
AS = yasm
PROGRAM = qsvencc
ENABLE_DEBUG = 0
CXXFLAGS = -Wall -Wno-attributes -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused -DLINUX -DUNIX -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -I. -I./mfx_dispatch/include -I./MediaSDK/include -I./QSVPipeline -I./QSVPlugins -I./tinyxml2 -I./ChapterRW -I./ttmath -DLINUX64 -m64 -pthread -std=c++11 -march=native -mtune=native -O3 -DNDEBUG=1 -mfpmath=sse -fexcess-precision=fast -ffast-math -fomit-frame-pointer -DLIBVA_SUPPORT -DLIBVA_DRM_SUPPORT -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/freetype2 -I./dtl
LDFLAGS = -L. -ldl -lstdc++ -m64 -lpthread -Wl,-s -lva-drm -ldrm -lva -lass
ASFLAGS = -I. -DLINUX=1 -f elf64 -DARCH_X86_64=1
PREFIX = /usr/local
X86_64 = 1
#define QSVENC_REV "1360"
#define ENABLE_AVI_READER 0
#define ENABLE_AVISYNTH_READER 0
#define ENABLE_VAPOURSYNTH_READER 0
#define ENABLE_AVSW_READER 0
#define ENABLE_CUSTOM_VPP 1
#define ENABLE_LIBASS_SUBBURN 1
#define ENABLE_ADVANCED_DEINTERLACE 0
#define ENABLE_MVC_ENCODING 0
#define ENABLE_FPS_CONVERSION 0
#define ENABLE_OPENCL 0
#define ENABLE_SESSION_THREAD_CONFIG 0
#define ENABLE_FEATURE_COP3_AND_ABOVE 0
#define ENABLE_AVCODEC_OUT_THREAD 1
#define ENABLE_CPP_REGEX 1
#define ENABLE_DTL 1
successfully generated config.mak, qsv_config.h

error
QSVPipeline/qsv_query.cpp:1112:9: error: ‘phwDevice’ was not declared in this scope
phwDevice.reset();
^
In file included from QSVPipeline/rgy_util.h:47:0,
from QSVPipeline/qsv_query.cpp:52:
QSVPipeline/qsv_query.cpp: In function ‘tstring MakeDecFeatureStr(bool, FeatureListStrType)’:
QSVPipeline/qsv_query.cpp:1316:34: error: ‘HW_DECODE_LIST’ was not declared in this scope
for (int i = 0; i < _countof(HW_DECODE_LIST); i++) {
^
QSVPipeline/rgy_osdep.h:86:56: note: in definition of macro ‘_countof’
#define _countof(_Array) (int)sizeof(__countof_helper(_Array))
^
QSVPipeline/qsv_query.cpp:1333:34: error: ‘HW_DECODE_LIST’ was not declared in this scope
for (int i = 0; i < _countof(HW_DECODE_LIST); i++) {
^
QSVPipeline/rgy_osdep.h:86:56: note: in definition of macro ‘_countof’
#define _countof(_Array) (int)sizeof(
__countof_helper(_Array))
^
QSVPipeline/qsv_query.cpp:1338:29: error: unable to deduce ‘auto&&’ from ‘cspList’
for (auto csp : cspList) {
^
In file included from QSVPipeline/rgy_util.h:47:0,
from QSVPipeline/qsv_query.cpp:52:
QSVPipeline/qsv_query.cpp: In function ‘CodecCsp getHWDecCodecCsp()’:
QSVPipeline/qsv_query.cpp:1429:34: error: ‘HW_DECODE_LIST’ was not declared in this scope
for (int i = 0; i < _countof(HW_DECODE_LIST); i++) {
^
QSVPipeline/rgy_osdep.h:86:56: note: in definition of macro ‘_countof’
#define _countof(_Array) (int)sizeof(__countof_helper(_Array))
^
makefile:16: recipe for target 'QSVPipeline/qsv_query.o' failed
make: *** [QSVPipeline/qsv_query.o] Error 1
QSVEncC/QSVEncC.cpp: In function ‘tstring GetQSVEncVersion()’:
QSVEncC/QSVEncC.cpp:80:98: error: ‘getHWDecSupportedCodecList’ was not declared in this scope
ersion += strsprintf(_T(", avqsv [%s]"), getHWDecSupportedCodecList().c_str());
^
QSVEncC/QSVEncC.cpp: In function ‘tstring help(const TCHAR
)’:
QSVEncC/QSVEncC.cpp:417:5: error: expected ‘)’ before ‘str’
str += strsprintf(_T("\n")
^
makefile:16: recipe for target 'QSVEncC/QSVEncC.o' failed
make: *** [QSVEncC/QSVEncC.o] Error 1
yasm -I. -DLINUX=1 -f elf64 -DARCH_X86_64=1 -o QSVPipeline/ram_speed_x64.o QSVPipeline/ram_speed_x64.asm
objcopy -I binary -O elf64-x86-64 -B i386 PerfMonitor/perf_monitor.pyw PerfMonitor/perf_monitor.o
make: Target 'all' not remade because of errors.
thx4ever@ubuntu:~/QSVEnc$ make --keep-going
g++ -c -Wall -Wno-attributes -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused -DLINUX -DUNIX -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -I. -I./mfx_dispatch/include -I./MediaSDK/include -I./QSVPipeline -I./QSVPlugins -I./tinyxml2 -I./ChapterRW -I./ttmath -DLINUX64 -m64 -pthread -std=c++11 -march=native -mtune=native -O3 -DNDEBUG=1 -mfpmath=sse -fexcess-precision=fast -ffast-math -fomit-frame-pointer -DLIBVA_SUPPORT -DLIBVA_DRM_SUPPORT -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/freetype2 -I./dtl -o QSVPipeline/qsv_query.o QSVPipeline/qsv_query.cpp
QSVPipeline/qsv_query.cpp: In function ‘mfxU64 CheckEncodeFeature(bool, mfxVersion, mfxU16, mfxU32)’:
QSVPipeline/qsv_query.cpp:1112:9: error: ‘phwDevice’ was not declared in this scope
phwDevice.reset();
^
In file included from QSVPipeline/rgy_util.h:47:0,
from QSVPipeline/qsv_query.cpp:52:
QSVPipeline/qsv_query.cpp: In function ‘tstring MakeDecFeatureStr(bool, FeatureListStrType)’:
QSVPipeline/qsv_query.cpp:1316:34: error: ‘HW_DECODE_LIST’ was not declared in this scope
for (int i = 0; i < _countof(HW_DECODE_LIST); i++) {
^
QSVPipeline/rgy_osdep.h:86:56: note: in definition of macro ‘_countof’
#define _countof(_Array) (int)sizeof(__countof_helper(_Array))
^
QSVPipeline/qsv_query.cpp:1333:34: error: ‘HW_DECODE_LIST’ was not declared in this scope
for (int i = 0; i < _countof(HW_DECODE_LIST); i++) {
^
QSVPipeline/rgy_osdep.h:86:56: note: in definition of macro ‘_countof’
#define _countof(_Array) (int)sizeof(
__countof_helper(_Array))
^
QSVPipeline/qsv_query.cpp:1338:29: error: unable to deduce ‘auto&&’ from ‘cspList’
for (auto csp : cspList) {
^
In file included from QSVPipeline/rgy_util.h:47:0,
from QSVPipeline/qsv_query.cpp:52:
QSVPipeline/qsv_query.cpp: In function ‘CodecCsp getHWDecCodecCsp()’:
QSVPipeline/qsv_query.cpp:1429:34: error: ‘HW_DECODE_LIST’ was not declared in this scope
for (int i = 0; i < _countof(HW_DECODE_LIST); i++) {
^
QSVPipeline/rgy_osdep.h:86:56: note: in definition of macro ‘_countof’
#define _countof(_Array) (int)sizeof(__countof_helper(_Array))
^
makefile:16: recipe for target 'QSVPipeline/qsv_query.o' failed
make: *** [QSVPipeline/qsv_query.o] Error 1
g++ -c -Wall -Wno-attributes -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused -DLINUX -DUNIX -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -I. -I./mfx_dispatch/include -I./MediaSDK/include -I./QSVPipeline -I./QSVPlugins -I./tinyxml2 -I./ChapterRW -I./ttmath -DLINUX64 -m64 -pthread -std=c++11 -march=native -mtune=native -O3 -DNDEBUG=1 -mfpmath=sse -fexcess-precision=fast -ffast-math -fomit-frame-pointer -DLIBVA_SUPPORT -DLIBVA_DRM_SUPPORT -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/freetype2 -I./dtl -o QSVPipeline/rgy_version.o QSVPipeline/rgy_version.cpp
QSVPipeline/rgy_version.cpp: In function ‘const TCHAR
get_encoder_version()’:
QSVPipeline/rgy_version.cpp:39:69: error: expected ‘;’ before ‘ENCODER_REV’
BUILD_ARCH_STR _T(") ") VER_STR_FILEVERSION_TCHAR _T(" (r") ENCODER_REV
^
QSVPipeline/rgy_version.cpp:39:69: error: ‘ENCODER_REV’ was not declared in this scope
makefile:16: recipe for target 'QSVPipeline/rgy_version.o' failed
make: *** [QSVPipeline/rgy_version.o] Error 1
g++ -c -Wall -Wno-attributes -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused -DLINUX -DUNIX -D_FILE_OFFSET_BITS=64 -D__USE_LARGEFILE64 -I. -I./mfx_dispatch/include -I./MediaSDK/include -I./QSVPipeline -I./QSVPlugins -I./tinyxml2 -I./ChapterRW -I./ttmath -DLINUX64 -m64 -pthread -std=c++11 -march=native -mtune=native -O3 -DNDEBUG=1 -mfpmath=sse -fexcess-precision=fast -ffast-math -fomit-frame-pointer -DLIBVA_SUPPORT -DLIBVA_DRM_SUPPORT -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/freetype2 -I./dtl -o QSVEncC/QSVEncC.o QSVEncC/QSVEncC.cpp
QSVEncC/QSVEncC.cpp: In function ‘tstring GetQSVEncVersion()’:
QSVEncC/QSVEncC.cpp:80:98: error: ‘getHWDecSupportedCodecList’ was not declared in this scope
ersion += strsprintf(_T(", avqsv [%s]"), getHWDecSupportedCodecList().c_str());
^
QSVEncC/QSVEncC.cpp: In function ‘tstring help(const TCHAR*)’:
QSVEncC/QSVEncC.cpp:417:5: error: expected ‘)’ before ‘str’
str += strsprintf(_T("\n")
^
makefile:16: recipe for target 'QSVEncC/QSVEncC.o' failed
make: *** [QSVEncC/QSVEncC.o] Error 1

Error compiling on linux Ubuntu 16.04 LTS

Hi Rigaya, now Intel Media SDK supports Kabylake so i tried to compile latest source and got errors

QSVPipeline/qsv_pipeline.cpp:3953:51: error: ‘AV_NOPTS_VALUE’ was not declared in this scope
if (pInputBitstream->TimeStamp == AV_NOPTS_VALUE) {
^
makefile:16: recipe for target 'QSVPipeline/qsv_pipeline.o' failed

V4.09 B_pyramid+PyramQPOffset gone

In version 4.09 there is no B_pyramid and PyramQPOffset support anymore in HEVC, is this a bug? In version 4.06 it was supported. Tested on i7-7700K HD630 27.20.100.9021.

4.09:

4_09

4.06:

4_06

v4.04 crashing when using --chromaloc

QSVenc 4.04 is crashing on i5-10400 (Comet Lake)..

i am trying to use --chromaloc 2

complete command
QSVEncC64.exe --avsw --codec hevc --quality best --profile main10 --level 5.1 --bframes 16 --ref 5 --b-pyramid --mbbrc --weightb --weightp --master-display copy --aud -max-cll copy --colormtarix auto --colorprim auto --transfer auto --chromaloc auto --colorrange auto --aud --no-deblock --icq 16

error:
Failed to get required buffer size for encoder. : invalid video parameters.
QSVEncC.exe finished with error!

without chromaloc parameter, it is OK

CQP wrong range HEVC 10 bit

HEVC main 10 CQP:

qp-i value changed 52 -> 51, must be in range of 0-51
qp-p value changed 52 -> 51, must be in range of 0-51
qp-b value changed 55 -> 51, must be in range of 0-51

8 bit range max: 51
10 bit range max: 63
12 bit range max: 75

See here: Intel-Media-SDK/MediaSDK#1980

This is signed value in [-51, 51] range if target encoding bit-depth for luma samples is 8 and this range is [-63, 63] for 10 bit-depth or [-75, 75] for 12 bit-depth respectively.
Intel-Media-SDK/MediaSDK@3c8d8e2#diff-223315361f714398d98dbd463b6f1872ccd45d4a192bc0da036fb2096c0ce868

Media SDK 2020 R1

Intel posted a new Media SDK wich includes API 1.32.

The Intel Media SDK 2020 R1 introduces API version 1.32. This version is backward compatible with the previous version.

Added Screen Content Coding (SCC) support to HEVC
Improved samples now include:
AVBR, QVBR, and ICQ bitrate control modes to sample_multi_transcode
Improved 12-bit format support
A command line option that forces use of a fixed function (low-power) version of components, where available
ROI file format for sample_multi_transcode
A command line option to limit bitrate
A metrics monitor that allows a user to specify a path to a graphics device

Tigerlake i7-1165G7 ICQ Fixed Function

I'm testing on an i7-1165G7, everything works with one exception, ICQ H265 fixed function doesn't work. It works with the hybrid only. The thing is it doesn't work with Handbrake either which could imply it's a driver related error.

QSVEnc

A question on latest Intel Media SDK version 20.5.1

Hi,

On the page below which shows the information for latest SDK release 20.5.1, there is mention of "Extended B frames support across all target usage with LowPower on" for HEVC encode.

https://github.com/Intel-Media-SDK/MediaSDK/releases/tag/intel-mediasdk-20.5.1

Do you know if this means that B frames are now enabled (along with B pyramid?) with fixed-function encode (currently fixed-function encodes cannot make use of B frames)? I'm guessing that "LowPower" is the same as "fixed-function".

If so, can this be enabled in a future version of QSVEnc?

Thanks!

--quality setting "Balanced" and "High"

I'm doing some tests with StaxRip/QSVEnc.
Selecting --quality "Balanced" or "High" gives exactelly the same results. (tested with StaxRip/QSVEnc 3.33 & 4.00).
Perhaps "High" isn't working ?

HD4600 deinterlace cannot work

i7-4710MQ with HD Graphics 4600.
Windows only provides the following two versions of drivers:
QQ截图20210217094951

10.18.15.4279 (Very old)
20.19.15.5107
Newer versions cannot be installed.

It works fine in 10.18.15.4279
In 20.19.15.5107, if I use --vpp-deinterlace, the encoding cannot be started.

In 10.18.15.4279 Chrome crashes frequently so I have to use 20.19.15.5107. But I've been using QSVEnc a lot to work on some TV shows, and it's gotten me into trouble.

QSVEnc doesn't support VC-1 files

Hi rigaya,

i've tested the QSVEnc hardware decoder with some mkv files based on the VC-1 codec. None of these files can be decoded with QSVEnc. The hardware is an intel HD4600 with the latest driver installed. The "--check-features" option indicates that support for vc-1 is granted.

how to pipe output immediately

when i push yuv frames to QsvEncC via pipe("-") and encode it in h264,QsvEncC will output on pipe("-") for me.however,QsvEncC will always output on pipe more than 2 packets at the same time.As my question,what params i can set while i push yuv frames one by one and QsvEncC output packets one by one?

v4.05 occasionally crashing

The new 4.05 is crashing sometimes. I've tried a simple CBR HEVC encode.

C:\Staxrip\StaxRip-x64-1.7.0.0-stable\Apps\QSVEnc\QSVEncC64.exe --codec hevc --ref 3 --gop-len 256 --mbbrc --fallback-rc --cbr 2500 -i D:\Quicksync\7_Intel_Demo_Clip2.mp4 -o "D:\Quicksync\7_Intel_Demo_Clip2_temp\CBR 2500 3_3_256 mbbrc_out.hevc"


D:\Quicksync\7_Intel_Demo_Clip2_temp\CBR 2500 3_3_256 mbbrc_out.hevc

bitstream: failed to set parameters for hevc_metadata: Result too large.
failed to initialize file reader(s).
QSVEncC.exe finished with error!
[hevc_metadata @ 000001a36b4a2cc0] Value 109.000000 for parameter 'chroma_sample_loc_type' out of range [-1 - 6]
[hevc_metadata @ 000001a36b4a2cc0] Error setting option chroma_sample_loc_type to value 109.

Start: 18:26:01
End: 18:26:02
Duration: 00:00:00

Build on Ubuntu 20.10 fails with linker error.

If Ubuntu 20.10 is known to fail builds, or is not intended to be supported in the future my apologies for opening the issue.

When building QSVEnc I get the following error:

/usr/bin/ld: QSVPipeline/rgy_perf_monitor.o: relocation R_X86_64_PC32 against absolute symbol _binary_PerfMonitor_perf_monitor_pyw_size' in section .text' is disallowed
collect2: error: ld returned 1 exit status
make: *** [makefile:12: qsvencc] Error 1

Any idea why its failing?

Thank you!

adapt-ltr

After some time I've tried --adapt-ltr in QSVEnc 3.24 but it doesn't work. The only QSVEnc version was 3.19 where it worked but it broke mbbrc at the same time.

Build error on Ubuntu 20.04

Hi there! I am trying to build QSVEnc on Ubuntu 20.04. I have a working QSV/Intel Media environment in ffmpeg and other programs. I am running into the following output when I run the make command as suggested in the Build help:

/usr/bin/ld: plugin_subburn.cpp:(.text+0xc56): undefined reference to `ProcessorSubBurnD3DAVX::ProcessorSubBurnD3DAVX()'
/usr/bin/ld: plugin_subburn.cpp:(.text+0xc6b): undefined reference to `ProcessorSubBurnAVX2::ProcessorSubBurnAVX2()'
/usr/bin/ld: plugin_subburn.cpp:(.text+0xe5c): undefined reference to `ProcessorSubBurnAVX::ProcessorSubBurnAVX()'
collect2: error: ld returned 1 exit status
make: *** [makefile:13: qsvencc] Error 1

Googling this issue reveals very little - is there a dependency I am missing or is something else the problem here? I've attached my full make output. Thank you!

QSVEnc Build Error.txt

LA-ICQ produces warning messages

When using LA-ICQ I get the below warning messages during the encode:

cop2.LookAheadDepth value changed 0 -> 10 by driver
cop3.WinBRCSize value changed 24 -> 0 by driver
cop3.WinBRCMaxAvgKbps value changed 15000 -> 0 by driver
cop3.WinBRCMaxAvgKbps value changed 15000 -> 0 by driver
cop3.WinBRCSize value changed 24 -> 0 by driver

What is causing the warning messages?
Below HW, LIB and Feature results.

HW Result:
Success: QuickSyncVideo (hw encoding) available

LIB Result:

QSVEncC (x64) 4.04 (r1883) by rigaya, Jun 16 2020 22:21:37 (VC 1926/Win/avx2)
 reader: raw, avi, avs, vpy, avqsv [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9]
libmfxhw64.dll : v1.32
libmfxsw64.dll : ----

Feature Results:

QSVEncC (x64) 4.04 (r1883) by rigaya, Jun 16 2020 22:21:37 (VC 1926/Win/avx2)
 reader: raw, avi, avs, vpy, avqsv [H.264/AVC, H.265/HEVC, MPEG2, VP8, VP9]
Environment Info
OS : Windows 10 x64 (18363)
CPU: Intel Core i9-9900K @ 3.60GHz [TB: 4.70GHz] (8C/16T) <Coffeelake>
RAM: Used 5923 MB, Total 65382 MB
GPU: Intel UHD Graphics 630 (24EU) 1200MHz (27.20.100.8336)

Media SDK Version: Hardware API v1.32

Supported Enc features:
Codec: H.264/AVC
             CBR   VBR   AVBR  QVBR  CQP   LA    LAHRD ICQ   LAICQ VCM  
RC mode       o     o     o     o     o     o     o     o     o     o    
10bit depth   x     x     x     x     x     x     x     x     x     x    
Fixed Func    o     o     o     o     o     x     x     o     x     o    
Interlace     o     o     o     o     o     o     o     o     o     x    
VUI info      o     o     o     o     o     o     o     o     o     o    
Trellis       o     o     o     o     o     o     o     o     o     o    
Adaptive_I    x     x     x     x     x     x     x     x     x     x    
Adaptive_B    x     x     x     x     x     x     x     x     x     x    
WeightP       o     o     o     o     o     o     o     o     o     o    
WeightB       o     o     o     o     o     o     o     o     o     o    
FadeDetect    o     o     o     o     o     o     o     o     o     o    
B_Pyramid     o     o     o     o     o     o     o     o     o     o    
 +ManyBframes o     o     o     o     o     x     x     o     x     o    
PyramQPOffset x     x     x     x     x     x     x     x     x     x    
MBBRC         o     o     o     o     x     x     x     o     x     o    
ExtBRC        o     o     x     x     x     x     x     x     x     x    
Adaptive_LTR  o     o     x     x     x     x     x     x     x     x    
LA Quality    x     x     x     x     x     o     o     x     o     x    
QP Min/Max    o     o     o     o     o     o     o     o     o     o    
IntraRefresh  x     x     x     x     x     x     x     x     x     o    
No Deblock    x     x     x     x     x     x     x     x     x     x    
No GPB        x     x     x     x     x     x     x     x     x     x    
Windowed BRC  x     x     x     x     x     o     o     x     x     x    
PerMBQP(CQP)  x     x     x     x     o     x     x     x     x     x    
DirectBiasAdj x     x     x     x     x     x     x     x     x     x    
MVCostScaling x     x     x     x     x     x     x     x     x     x    
SAO           x     x     x     x     x     x     x     x     x     x    
Max CTU Size  x     x     x     x     x     x     x     x     x     x    
TSkip         x     x     x     x     x     x     x     x     x     x    



Codec: HEVC
             CBR   VBR   AVBR  QVBR  CQP   LA    LAHRD ICQ   LAICQ VCM  
RC mode       o     o     x     x     o     x     x     o     x     o    
10bit depth   o     o     x     x     o     x     x     o     x     o    
Fixed Func    x     x     x     x     x     x     x     x     x     x    
Interlace     x     x     x     x     o     x     x     x     x     x    
VUI info      o     o     x     x     o     x     x     o     x     o    
Trellis       x     x     x     x     x     x     x     x     x     x    
Adaptive_I    x     x     x     x     x     x     x     x     x     x    
Adaptive_B    x     x     x     x     x     x     x     x     x     x    
WeightP       o     o     x     x     o     x     x     o     x     o    
WeightB       o     o     x     x     o     x     x     o     x     o    
FadeDetect    x     x     x     x     x     x     x     x     x     x    
B_Pyramid     o     o     x     x     o     x     x     o     x     o    
 +ManyBframes o     o     x     x     o     x     x     o     x     o    
PyramQPOffset x     x     x     x     o     x     x     x     x     x    
MBBRC         o     o     x     x     x     x     x     o     x     o    
ExtBRC        o     o     x     x     x     x     x     x     x     x    
Adaptive_LTR  x     x     x     x     x     x     x     x     x     x    
LA Quality    x     x     x     x     x     x     x     x     x     x    
QP Min/Max    x     x     x     x     x     x     x     x     x     x    
IntraRefresh  o     o     x     x     o     x     x     o     x     o    
No Deblock    o     o     x     x     o     x     x     o     x     o    
No GPB        o     o     x     x     o     x     x     o     x     o    
Windowed BRC  x     x     x     x     x     x     x     x     x     x    
PerMBQP(CQP)  x     x     x     x     x     x     x     x     x     x    
DirectBiasAdj x     x     x     x     x     x     x     x     x     x    
MVCostScaling x     x     x     x     x     x     x     x     x     x    
SAO           x     x     x     x     x     x     x     x     x     x    
Max CTU Size  x     x     x     x     x     x     x     x     x     x    
TSkip         x     x     x     x     x     x     x     x     x     x    



Codec: MPEG2
             CBR   VBR   AVBR  QVBR  CQP   LA    LAHRD ICQ   LAICQ VCM  
RC mode       o     o     o     x     o     x     x     x     x     x    
10bit depth   x     x     x     x     x     x     x     x     x     x    
Fixed Func    o     o     o     x     o     x     x     x     x     x    
Interlace     o     o     o     x     o     x     x     x     x     x    
VUI info      o     o     o     x     o     x     x     x     x     x    
Trellis       o     o     o     x     o     x     x     x     x     x    
Adaptive_I    o     o     o     x     o     x     x     x     x     x    
Adaptive_B    o     o     o     x     o     x     x     x     x     x    
WeightP       x     x     x     x     x     x     x     x     x     x    
WeightB       x     x     x     x     x     x     x     x     x     x    
FadeDetect    x     x     x     x     x     x     x     x     x     x    
B_Pyramid     o     o     o     x     o     x     x     x     x     x    
 +ManyBframes o     o     o     x     o     x     x     x     x     x    
PyramQPOffset x     x     x     x     x     x     x     x     x     x    
MBBRC         o     o     o     x     x     x     x     x     x     x    
ExtBRC        o     o     o     x     x     x     x     x     x     x    
Adaptive_LTR  o     o     o     x     o     x     x     x     x     x    
LA Quality    x     x     x     x     x     x     x     x     x     x    
QP Min/Max    o     o     o     x     o     x     x     x     x     x    
IntraRefresh  o     o     o     x     o     x     x     x     x     x    
No Deblock    o     o     o     x     o     x     x     x     x     x    
No GPB        x     x     x     x     x     x     x     x     x     x    
Windowed BRC  o     o     o     x     o     x     x     x     x     x    
PerMBQP(CQP)  x     x     x     x     x     x     x     x     x     x    
DirectBiasAdj o     o     o     x     o     x     x     x     x     x    
MVCostScaling o     o     o     x     o     x     x     x     x     x    
SAO           x     x     x     x     x     x     x     x     x     x    
Max CTU Size  x     x     x     x     x     x     x     x     x     x    
TSkip         x     x     x     x     x     x     x     x     x     x    



Supported Vpp features:

Resize                o
Deinterlace           o
Scaling Quality       o
Denoise               o
Mctf                  o
Rotate                o
Mirror                x
Detail Enhancement    o
Proc Amp.             o
Image Stabilization   x
Video Signal Info     o
FPS Conversion        o
FPS Conversion (Adv.) o


Supported Decode features:

            H.264 HEVC MPEG2 VP8  VP9  
HW Decode      o    o    o    o    o 
10bit depth    x    o    x    x    o 

Presets?

I noticed that NVENC and VCEencC have presets but not QSVenc.
Is this not possible with QSV?

Driver bug 27.20.100.9025?

Intel recently released 27.20.100.9025 Beta, this one: https://downloadcenter.intel.com/download/30027

I have big issues using this driver with the h264 codec. Several bitrate modes (CQP, ICQ) doesn't work anymore and also extbrc and adapt-ltr. When I go back to 27.20.100.9021 all is working which could mean there is a driver bug but I'm not sure.

ExtBRC is not supported on current platform, disabled.
AdaptiveLTR is not supported on current platform, disabled.
Failed to initialize encoder. : invalid video parameters.
QSVEncC.exe finished with error!

ICQ without extbrc/adapt-ltr:

Failed to initialize encoder. : invalid video parameters.
QSVEncC.exe finished with error!

422 conversion not working in 4.08

When trying to render a file which is 10bit 422 using the following command line:

qsvencc64 -i "H:\TestFootage\Panasonic S1-vlog\P1000045.MOV" --codec h264 --cqp 23 --quality fastest --colorrange tv --fps 60000/1001 --avsync forcecfr --audio-codec aac --audio-bitrate 128 --output-res 1920x1080 -o "C:\Temp\Test\Panny422.mp4" 2> “C:\Temp\422PannyError.txt”
I get the following error:


C:\Temp\Test\Panny422.mp4

Currently yuv422 surfaces are not supported by d3d9/d3d11 memory.
Switching to system memory.
Failed to initialize encode session. : undeveloped feature.

QSVEncC.exe finished with error!

Please advise. Thanks.

QSVENc 3.19 mbbrc broken

QSVENc 3.19 broke the mbbrc functionality in both h264 and h265 @CBR/VBR. Also extbrc is used by default and I can't even disable it because the --no-extbrc command isn't supported by QSVEnc. So it's using extbrc no matter what which seems to be much worse than mbbrc. Furthermore the new adapt-ltr option doesn't seem to work, it does nothing to me.

VCM and Scenechange

VCM doesn't seem to work with HEVC, GPU hangs in encoding pipeline, possibly bug?

I also noticed that scenechange being absent in QSVEnc 3.x while Intel did add scenechange in SDK 1.26, it works in QSVEnc 2.75, although only with software decoding. Is this a bug?

SDK API 1.26 adds SceneChange, LongTerm and FrameCmplx.

Add vpp-subburn

Do you have plans to add vpp-subburn to QSVEnc and VCEEnc?

10bit AVC encoding?

since 'check-features' shows:

Codec: H.264/AVC
CBR VBR AVBR QVBR CQP VQP LA LAHRD ICQ LAICQ VCM
10bit depth x x x x x x x x x x x

and profile only shows:

  • H.264: auto(default), Baseline, Main, High
  • HEVC: auto(default), main, main10

I was wondering:
How to enable 10bit AVC encoding on Kaby Lake CPUs?
(for HEVC one can select main10, but there is no High10 listed)

Or doesn't QSV support 10bit AVC encoding?

File size difference CQP mode between 8-bit and 10-bit QuickSync H.265

Me again!

I'm noticing a massive discrepancy in file size between 8-bit and 10-bit QuickSync H.265 encoding using default CQP mode. I did approx 5-minute test where the only difference was changing the profile from "Main" to "Main 10" and the 10-bit file was 5.5x the size of the 8-bit file!!! (approx 525Mb vs 100Mb). Also, this ratio is the same if I use "fixed-function" encoding. The correct file size should be around 100Mb. If I use ICQ 24 10-bit H.265, that is what I get.

I've never seen such a difference in file size. Can you test this? Looks like some issue with CQP and 10-bit H.265.

Logs are below. I'm thinking this might be another one for Intel (I have passed on my previous issue to them and they have assigned a dev to the issue).

8-bit log:-
------------------- Video encoding using QSVEnc 3.31 -------------------

D:\StaxRip\Apps\Encoders\QSVEnc\QSVEncC64.exe --avhw --codec hevc --quality best --profile main --cqp 24:26:27 --crop 2,140,2,140 --output-res 1280x536 --trim 0:8104 -i "C:\Users\mark_\Videos\Star Trek Into Darkness.mkv" -o "C:\Users\mark_\Videos\Star Trek Into Darkness_temp\Star Trek Into Darkness_out.hevc"


C:\Users\mark_\Videos\Star Trek Into Darkness_temp\Star Trek Into Darkness_out.hevc

B pyramid on IvyBridge generation might cause artifacts, please check your encoded video.
cop3.DirectBiasAdjustment value changed off -> auto by driver
cop3.GlobalMotionBiasAdjustment value changed off -> auto by driver
QSVEncC (x64) 3.31 (r1738) by rigaya, Feb 20 2020 11:51:27 (VC 1916/Win/avx2)
OS Windows 10 x64 (18363)
CPU Info Intel Core i7-1065G7 @ 1.30GHz [TB: 3.89GHz] (4C/8T)
GPU Info Intel Iris(R) Plus Graphics (64EU) 300-1100MHz [15W] (26.20.100.7870)
Media SDK QuickSyncVideo (hardware encoder) PG, 1st GPU, API v1.31
Async Depth 6 frames
Buffer Memory d3d9, 1 input buffer, 33 work buffer
Input Info avqsv: H.264/AVC, 1920x1080, 24000/1001 fps
Crop 2,140,2,140 (1920x1080 -> 1916x800)
VPP Enabled Resizer, 1920x1080 -> 1280x536
Trim 0-8104 [offset: 0]
AVSync cfr
Output HEVC main @ Level 3.1
1280x536p 1:1 23.976fps (24000/1001fps)
Target usage 1 - best
Encode Mode Constant QP (CQP)
CQP Value I:24 P:26 B:27
QP Limit min: none, max: none
Trellis Auto
Ref frames 3 frames
Bframes 3 frames, B-pyramid: on
Max GOP Length 240 frames
Ext. Features WeightP WeightB QPOffset tskip ctu:64 sao:all
encoded 8105 frames, 76.69 fps, 2550.85 kbps, 102.79 MB
encode time 0:01:45, CPU: 9.5, GPU: 97.0, VD: 19.0
frame type IDR 1
frame type I 35, total size 1.22 MB
frame type P 2026, total size 44.95 MB
frame type B 6045, total size 56.62 MB

Start: 16:12:05
End: 16:13:52
Duration: 00:01:46

10-bit log:-
------------------- Video encoding using QSVEnc 3.31 -------------------

D:\StaxRip\Apps\Encoders\QSVEnc\QSVEncC64.exe --avhw --codec hevc --quality best --profile main10 --cqp 24:26:27 --crop 2,140,2,140 --output-res 1280x536 --trim 0:8104 -i "C:\Users\mark_\Videos\Star Trek Into Darkness.mkv" -o "C:\Users\mark_\Videos\Star Trek Into Darkness_temp\Star Trek Into Darkness_out.hevc"


C:\Users\mark_\Videos\Star Trek Into Darkness_temp\Star Trek Into Darkness_out.hevc

B pyramid on IvyBridge generation might cause artifacts, please check your encoded video.
cop3.DirectBiasAdjustment value changed off -> auto by driver
cop3.GlobalMotionBiasAdjustment value changed off -> auto by driver
QSVEncC (x64) 3.31 (r1738) by rigaya, Feb 20 2020 11:51:27 (VC 1916/Win/avx2)
OS Windows 10 x64 (18363)
CPU Info Intel Core i7-1065G7 @ 1.30GHz [TB: 3.89GHz] (4C/8T)
GPU Info Intel Iris(R) Plus Graphics (64EU) 300-1100MHz [15W] (26.20.100.7870)
Media SDK QuickSyncVideo (hardware encoder) PG, 1st GPU, API v1.31
Async Depth 6 frames
Buffer Memory d3d9, 1 input buffer, 33 work buffer
Input Info avqsv: H.264/AVC, 1920x1080, 24000/1001 fps
Crop 2,140,2,140 (1920x1080 -> 1916x800)
VPP Enabled ColorFmtConvertion: nv12 -> p010
Resizer, 1920x1080 -> 1280x536
Trim 0-8104 [offset: 0]
AVSync cfr
Output HEVC main10 @ Level 3.1
1280x536p 1:1 23.976fps (24000/1001fps)
Target usage 1 - best
Encode Mode Constant QP (CQP)
CQP Value I:24 P:26 B:27
QP Limit min: none, max: none
Trellis Auto
Ref frames 3 frames
Bframes 3 frames, B-pyramid: on
Max GOP Length 240 frames
Ext. Features WeightP WeightB QPOffset tskip ctu:64 sao:all
encoded 8105 frames, 53.56 fps, 13102.75 kbps, 528.02 MB
encode time 0:02:31, CPU: 9.3, GPU: 97.1, VD: 14.0
frame type IDR 1
frame type I 35, total size 4.74 MB
frame type P 2026, total size 196.54 MB
frame type B 6045, total size 326.74 MB

Start: 16:16:56
End: 16:19:28
Duration: 00:02:32

AVBR HEVC

Can we get AVBR for HEVC? According to latest release notes it is supported.

HEVC encode limitations:

Supports only CQP, CBR, VBR, ICQ and AVBR rate control methods, as well as MFX_RATECONTROL_LA_EXT with lookahead plugin.

Video encoding returned error exit code: -1073740791 (0xC0000409) StaxRip v2.1.3.0 QSVENC v4.12

PLEASE HELP how to fix this


------------------------- System Environment -------------------------

StaxRip    : 2.1.3.0
Windows    : Windows 10 Pro 2009
Language   : Indonesian (Indonesia)
CPU        : Intel(R) Core(TM) i3-10100 CPU @ 3.60GHz
GPU        : NVIDIA GeForce GTX 1050, Intel(R) UHD Graphics 630
Resolution : 1920 x 1080
DPI        : 96

----------------------- Media Info Source File -----------------------

D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].mkv

General
Complete name            : D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].mkv
Format                   : Matroska
Format version           : Version 4
File size                : 1.36 GiB
Duration                 : 23 min 54 s
Overall bit rate         : 8 141 kb/s
Encoded date             : UTC 2010-02-22 21:41:29
Writing application      : no_variable_data
Writing library          : no_variable_data
Attachments              : Roboto-Medium.ttf / Roboto-MediumItalic.ttf / arial.ttf / arialbd.ttf / comic.ttf / comicbd.ttf / times.ttf / timesbd.ttf / trebuc.ttf / trebucbd.ttf / verdana.ttf / verdanab.ttf

Video
ID                       : 1
Format                   : AVC
Format/Info              : Advanced Video Codec
Format profile           : High@L4
Format settings          : CABAC / 4 Ref Frames
Format, CABAC            : Yes
Format, Reference frames : 4 frames
Codec ID                 : V_MPEG4/ISO/AVC
Duration                 : 23 min 54 s
Nominal bit rate         : 8 000 kb/s
Width                    : 1 920 pixels
Height                   : 1 080 pixels
Display aspect ratio     : 16:9
Frame rate mode          : Constant
Frame rate               : 23.976 (24000/1001) FPS
Color space              : YUV
Chroma subsampling       : 4:2:0
Bit depth                : 8 bits
Scan type                : Progressive
Bits/(Pixel*Frame)       : 0.161
Writing library          : x264 core 142
Default                  : Yes
Forced                   : No
Statistics Tags Issue    : no_variable_data 1970-01-01 00:00:00 / no_variable_data 2010-02-22 21:41:29
FromStats_BitRate        : 7979703
FromStats_Duration       : 00:23:54.018000000
FromStats_FrameCount     : 34382
FromStats_StreamSize     : 1430379796
Duration_Source          : General_Duration

Audio
ID                       : 2
Format                   : AAC LC
Format/Info              : Advanced Audio Codec Low Complexity
Codec ID                 : A_AAC-2
Duration                 : 23 min 54 s
Channel(s)               : 2 channels
Channel layout           : L R
Sampling rate            : 44.1 kHz
Frame rate               : 43.066 FPS (1024 SPF)
Compression mode         : Lossy
Language                 : Japanese
Default                  : Yes
Forced                   : No
Statistics Tags Issue    : no_variable_data 1970-01-01 00:00:00 / no_variable_data 2010-02-22 21:41:29
FromStats_BitRate        : 128000
FromStats_Duration       : 00:23:54.134000000
FromStats_FrameCount     : 61763
FromStats_StreamSize     : 22946145
Duration_Source          : General_Duration

Text
ID                       : 3
Format                   : ASS
Codec ID                 : S_TEXT/ASS
Codec ID/Info            : Advanced Sub Station Alpha
Compression mode         : Lossless
Title                    : English subs
Language                 : English
Default                  : Yes
Forced                   : No
Statistics Tags Issue    : no_variable_data 1970-01-01 00:00:00 / no_variable_data 2010-02-22 21:41:29
FromStats_BitRate        : 67
FromStats_Duration       : 00:23:45.400000000
FromStats_FrameCount     : 232
FromStats_StreamSize     : 11960

------------------------------ Demux MKV ------------------------------

mkvextract 51

"D:\Program Files\MKVToolNix\mkvextract.exe" "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].mkv" tracks 2:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID3 English {English subs}.ass" 1:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.aac" --ui-language en

Extracting track 1 with the CodecID 'A_AAC' to the file 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.aac'. Container format: raw AAC file with ADTS headers
Extracting track 2 with the CodecID 'S_TEXT/ASS' to the file 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID3 English {English subs}.ass'. Container format: SSA/ASS text subtitles

Start:    01.03.54
End:      01.04.49
Duration: 00:00:54

General
Complete name         : D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.aac
Format                : ADTS
Format/Info           : Audio Data Transport Stream
File size             : 22.3 MiB
Overall bit rate mode : Variable

Audio
Format                : AAC LC
Format/Info           : Advanced Audio Codec Low Complexity
Format version        : Version 4
Codec ID              : 2
Bit rate mode         : Variable
Channel(s)            : 2 channels
Channel layout        : L R
Sampling rate         : 44.1 kHz
Frame rate            : 43.066 FPS (1024 SPF)
Compression mode      : Lossy
Stream size           : 22.3 MiB (100%)

--------------------------- Mux AAC to M4A ---------------------------

MP4Box 0.9.0-DEV-rev0-g81b4481e1-gcc10.0.1 Patman

"C:\StaxRip v2.1.3.0\Apps\Support\MP4Box\MP4Box.exe" -add "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.aac:name= " -new "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.m4a"

Track Importing AAC  - SampleRate 44100 Num Channels 2
Setting up iTunes/iPod file...
Saving D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.m4a: 0.500 secs Interleaving

Start:    01.04.49
End:      01.04.50
Duration: 00:00:01


General
Complete name         : D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.m4a
Format                : MPEG-4
Format profile        : Apple audio with iTunes info
Codec ID              : M4A  (isom/M4A /mp42)
File size             : 22.1 MiB
Duration              : 23 min 54 s
Overall bit rate mode : Variable
Overall bit rate      : 129 kb/s
Encoded date          : UTC 2020-11-23 18:04:50
Tagged date           : UTC 2020-11-23 18:04:50

Audio
ID                    : 1
Format                : AAC LC
Format/Info           : Advanced Audio Codec Low Complexity
Codec ID              : mp4a-40-2
Duration              : 23 min 54 s
Bit rate mode         : Variable
Bit rate              : 128 kb/s
Maximum bit rate      : 138 kb/s
Channel(s)            : 2 channels
Channel layout        : L R
Sampling rate         : 44.1 kHz
Frame rate            : 43.066 FPS (1024 SPF)
Compression mode      : Lossy
Stream size           : 21.9 MiB (99%)
Title                 : 
Encoded date          : UTC 2020-11-23 18:04:50
Tagged date           : UTC 2020-11-23 18:04:50

-------------------------- Demux attachments --------------------------

mkvextract 51

"D:\Program Files\MKVToolNix\mkvextract.exe" "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].mkv" attachments 1:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_Roboto-Medium.ttf" 2:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_Roboto-MediumItalic.ttf" 3:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_arial.ttf" 4:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_arialbd.ttf" 5:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_comic.ttf" 6:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_comicbd.ttf" 7:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_times.ttf" 8:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_timesbd.ttf" 9:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_trebuc.ttf" 10:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_trebucbd.ttf" 11:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_verdana.ttf" 12:"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_verdanab.ttf"

File 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].mkv': container: Matroska
Track ID 0: video (MPEG-4p10/AVC/H.264)
Track ID 1: audio (AAC)
Track ID 2: subtitles (SubStationAlpha)
Attachment ID 1: type 'application/x-truetype-font', size 351704 bytes, file name 'Roboto-Medium.ttf'
Attachment ID 2: type 'application/x-truetype-font', size 378412 bytes, file name 'Roboto-MediumItalic.ttf'
Attachment ID 3: type 'application/x-truetype-font', size 892680 bytes, file name 'arial.ttf'
Attachment ID 4: type 'application/x-truetype-font', size 854584 bytes, file name 'arialbd.ttf'
Attachment ID 5: type 'application/x-truetype-font', size 240588 bytes, file name 'comic.ttf'
Attachment ID 6: type 'application/x-truetype-font', size 224404 bytes, file name 'comicbd.ttf'
Attachment ID 7: type 'application/x-truetype-font', size 975228 bytes, file name 'times.ttf'
Attachment ID 8: type 'application/x-truetype-font', size 980120 bytes, file name 'timesbd.ttf'
Attachment ID 9: type 'application/x-truetype-font', size 218432 bytes, file name 'trebuc.ttf'
Attachment ID 10: type 'application/x-truetype-font', size 206776 bytes, file name 'trebucbd.ttf'
Attachment ID 11: type 'application/x-truetype-font', size 240456 bytes, file name 'verdana.ttf'
Attachment ID 12: type 'application/x-truetype-font', size 208456 bytes, file name 'verdanab.ttf'

The attachment #1, ID 1, MIME type application/x-truetype-font, size 351704, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_Roboto-Medium.ttf'.
The attachment #2, ID 2, MIME type application/x-truetype-font, size 378412, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_Roboto-MediumItalic.ttf'.
The attachment #3, ID 3, MIME type application/x-truetype-font, size 892680, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_arial.ttf'.
The attachment #4, ID 4, MIME type application/x-truetype-font, size 854584, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_arialbd.ttf'.
The attachment #5, ID 5, MIME type application/x-truetype-font, size 240588, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_comic.ttf'.
The attachment #6, ID 6, MIME type application/x-truetype-font, size 224404, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_comicbd.ttf'.
The attachment #7, ID 7, MIME type application/x-truetype-font, size 975228, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_times.ttf'.
The attachment #8, ID 8, MIME type application/x-truetype-font, size 980120, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_timesbd.ttf'.
The attachment #9, ID 9, MIME type application/x-truetype-font, size 218432, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_trebuc.ttf'.
The attachment #10, ID 10, MIME type application/x-truetype-font, size 206776, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_trebucbd.ttf'.
The attachment #11, ID 11, MIME type application/x-truetype-font, size 240456, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_verdana.ttf'.
The attachment #12, ID 12, MIME type application/x-truetype-font, size 208456, is written to 'D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_attachment_verdanab.ttf'.

Start:    01.04.50
End:      01.04.50
Duration: 00:00:00

---------------------- Indexing using ffmsindex ----------------------

"C:\StaxRip v2.1.3.0\Apps\Plugins\Dual\ffms2\ffmsindex.exe" "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].mkv" "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].ffindex"

Writing index... done.

Start:    01.04.50
End:      01.04.56
Duration: 00:00:05

------------------------- VapourSynth Script -------------------------

import os, sys
import vapoursynth as vs
core = vs.get_core()
sys.path.append(r"C:\StaxRip v2.1.3.0\Apps\Plugins\VS\Scripts")
core.std.LoadPlugin(r"C:\StaxRip v2.1.3.0\Apps\Plugins\Dual\ffms2\ffms2.dll", altsearchpath=True)
core.std.LoadPlugin(r"C:\StaxRip v2.1.3.0\Apps\Plugins\VS\SVPFlow\svpflow1_vs64.dll", altsearchpath=True)
core.std.LoadPlugin(r"C:\StaxRip v2.1.3.0\Apps\Plugins\VS\SVPFlow\svpflow2_vs64.dll", altsearchpath=True)
clip = core.ffms2.Source(r"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].mkv", cachefile=r"D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD].ffindex")
#clip = core.std.AssumeFPS(clip, None, 25, 1)
core = vs.get_core(threads=8)

crop_string  = ""
resize_string = "core.resize.Bicubic(input,1280,720)"
super_params     = "{pel:1,scale:{up:0},gpu:1,full:false,rc:true}"
analyse_params   = "{block:{w:32,overlap:0},main:{search:{coarse:{distance:-8,bad:{sad:2000}},type:2}},refine:[{thsad:250}]}"
smoothfps_params = "{gpuid:11,rate:{num:5,den:2},algo:13,mask:{area:25},scene:{mode:1}}"

def interpolate(clip):
    input = clip
    if crop_string!='':
        input = eval(crop_string)
    if resize_string!='':
        input = eval(resize_string)

    super   = core.svp1.Super(input,super_params)
    vectors = core.svp1.Analyse(super["clip"],super["data"],input,analyse_params)
    smooth  = core.svp2.SmoothFps(input,super["clip"],super["data"],vectors["clip"],vectors["data"],smoothfps_params,src=clip)
    smooth  = core.std.AssumeFPS(smooth,fpsnum=smooth.fps_num,fpsden=smooth.fps_den)
    return smooth

smooth =  interpolate(clip)

smooth.set_output()

------------------------- Source Script Info -------------------------

Width     : 1920
Height    : 1080
Frames    : 34382
Time      : 23.54.016
Framerate : 23.976023 (24000/1001)
Format    : YUV420P8

------------------------- Target Script Info -------------------------

Width     : 1280
Height    : 720
Frames    : 85953
Time      : 23.53.983
Framerate : 59.940059 (60000/1001)
Format    : YUV420P8

---------------------- Media Info Audio Source 1 ----------------------

General
Complete name         : D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD] ID1 Japanese.m4a
Format                : MPEG-4
Format profile        : Apple audio with iTunes info
Codec ID              : M4A  (isom/M4A /mp42)
File size             : 22.1 MiB
Duration              : 23 min 54 s
Overall bit rate mode : Variable
Overall bit rate      : 129 kb/s
Encoded date          : UTC 2020-11-23 18:04:50
Tagged date           : UTC 2020-11-23 18:04:50

Audio
ID                    : 1
Format                : AAC LC
Format/Info           : Advanced Audio Codec Low Complexity
Codec ID              : mp4a-40-2
Duration              : 23 min 54 s
Bit rate mode         : Variable
Bit rate              : 128 kb/s
Maximum bit rate      : 138 kb/s
Channel(s)            : 2 channels
Channel layout        : L R
Sampling rate         : 44.1 kHz
Frame rate            : 43.066 FPS (1024 SPF)
Compression mode      : Lossy
Stream size           : 21.9 MiB (99%)
Title                 : 
Encoded date          : UTC 2020-11-23 18:04:50
Tagged date           : UTC 2020-11-23 18:04:50

------------------------ Error Video encoding ------------------------

Video encoding returned error exit code: -1073740791 (0xC0000409)


--------------------------- Video encoding ---------------------------

QSVEnc 4.09

"C:\StaxRip v2.1.3.0\Apps\Encoders\QSVEnc\QSVEncC64.exe" --profile high --trellis all --repartition-check --bframes 4 --ref 5 --b-pyramid --b-adapt --direct-bias-adjust --mbbrc --weightb --output-buf 128 --input-buf 16 --mfx-thread 8 --output-thread 1 --async-depth 2 --colormatrix bt2020c --colorprim bt2020 --colorrange pc --transfer bt2020-12 --fullrange --d3d11 --no-deblock --lowlatency --icq 20 -i "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (720p) [CB2622AD]_new.vpy" -o "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (720p) [CB2622AD]_new_out.h264"

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (720p) [CB2622AD]_new_out.h264
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------- Video encoding ---------------------------

QSVEnc 4.09

"C:\StaxRip v2.1.3.0\Apps\Encoders\QSVEnc\QSVEncC64.exe" --profile high --trellis all --repartition-check --bframes 4 --ref 5 --b-pyramid --b-adapt --direct-bias-adjust --mbbrc --weightb --output-buf 128 --input-buf 16 --mfx-thread 8 --output-thread 1 --async-depth 2 --colormatrix bt2020c --colorprim bt2020 --colorrange pc --transfer bt2020-12 --fullrange --d3d11 --no-deblock --lowlatency --icq 20 -i "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (720p) [CB2622AD]_new.vpy" -o "D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (720p) [CB2622AD]_new_out.h264"

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
D:\Execute\[SubsPlease] Boruto - Naruto Next Generations - 175 (1080p) [CB2622AD]_temp\[SubsPlease] Boruto - Naruto Next Generations - 175 (720p) [CB2622AD]_new_out.h264
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Start:    01.13.27
End:      01.13.30
Duration: 00:00:02


Unable to encode audio to AAC HE-AACv2

When trying to encode audio to AAC HE-AACv2

Used syntax

--audio-codec aac:HE-AACv2
--audio-codec aac=HE-AACv2
--audio-codec aac#HE-AACv2
--audio-codec HE-AACv2

All of them fail with an error.

It seems to be an error in the syntax but I am unable to find a solution in the QSVEncC option list

As below check show it should be possible to use this encoder.
Checked encoders:

aac             : AAC (Advanced Audio Coding)
ac3             : ATSC A/52A (AC-3)
ac3_fixed       : ATSC A/52A (AC-3)
adpcm_adx       : SEGA CRI ADX ADPCM
adpcm_ima_qt    : ADPCM IMA QuickTime
adpcm_ima_wav   : ADPCM IMA WAV
adpcm_ms        : ADPCM Microsoft
adpcm_swf       : ADPCM Shockwave Flash
adpcm_yamaha    : ADPCM Yamaha
alac            : ALAC (Apple Lossless Audio Codec)
aptx            : aptX (Audio Processing Technology for Bluetooth)
aptx_hd         : aptX HD (Audio Processing Technology for Bluetooth)
comfortnoise    : RFC 3389 comfort noise generator
dca             : DCA (DTS Coherent Acoustics)
eac3            : ATSC A/52 E-AC-3
flac            : FLAC (Free Lossless Audio Codec)
g722            : G.722 ADPCM
g723_1          : G.723.1
g726            : G.726 ADPCM
g726le          : G.726 little endian ADPCM ("right-justified")
libmp3lame      : libmp3lame MP3 (MPEG audio layer 3)
libopus         : libopus Opus
libspeex        : libspeex Speex
libtwolame      : libtwolame MP2 (MPEG audio layer 2)
libvorbis       : libvorbis
libwavpack
mlp             : MLP (Meridian Lossless Packing)
mp2             : MP2 (MPEG audio layer 2)
mp2fixed        : MP2 fixed point (MPEG audio layer 2)
nellymoser      : Nellymoser Asao
opus            : Opus
pcm_alaw        : PCM A-law / G.711 A-law
pcm_dvd         : PCM signed 16|20|24-bit big-endian for DVD media
pcm_f32be       : PCM 32-bit floating point big-endian
pcm_f32le       : PCM 32-bit floating point little-endian
pcm_f64be       : PCM 64-bit floating point big-endian
pcm_f64le       : PCM 64-bit floating point little-endian
pcm_mulaw       : PCM mu-law / G.711 mu-law
pcm_s16be       : PCM signed 16-bit big-endian
pcm_s16be_planar: PCM signed 16-bit big-endian planar
pcm_s16le       : PCM signed 16-bit little-endian
pcm_s16le_planar: PCM signed 16-bit little-endian planar
pcm_s24be       : PCM signed 24-bit big-endian
pcm_s24daud     : PCM D-Cinema audio signed 24-bit
pcm_s24le       : PCM signed 24-bit little-endian
pcm_s24le_planar: PCM signed 24-bit little-endian planar
pcm_s32be       : PCM signed 32-bit big-endian
pcm_s32le       : PCM signed 32-bit little-endian
pcm_s32le_planar: PCM signed 32-bit little-endian planar
pcm_s64be       : PCM signed 64-bit big-endian
pcm_s64le       : PCM signed 64-bit little-endian
pcm_s8          : PCM signed 8-bit
pcm_s8_planar   : PCM signed 8-bit planar
pcm_u16be       : PCM unsigned 16-bit big-endian
pcm_u16le       : PCM unsigned 16-bit little-endian
pcm_u24be       : PCM unsigned 24-bit big-endian
pcm_u24le       : PCM unsigned 24-bit little-endian
pcm_u32be       : PCM unsigned 32-bit big-endian
pcm_u32le       : PCM unsigned 32-bit little-endian
pcm_u8          : PCM unsigned 8-bit
pcm_vidc        : PCM Archimedes VIDC
real_144        : RealAudio 1.0 (14.4K)
roq_dpcm        : id RoQ DPCM
s302m           : SMPTE 302M
sbc             : SBC (low-complexity subband codec)
sonic           : Sonic
sonicls         : Sonic lossless
truehd          : TrueHD
tta             : TTA (True Audio)
vorbis          : Vorbis
wavpack         : WavPack
wmav1           : Windows Media Audio 1
wmav2           : Windows Media Audio 2

Checked codec profiles for AAC show it should be available:

QSVEncC64.exe --check-profiles aac
profile name for "aac"
  LC
  HE-AAC
  HE-AACv2
  LD
  ELD
  Main
  SSR
  LTP

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.