HandBrake has implemented Intel Quick Sync Video HW acceleration

Mar 30, 2014 at 7:48 AM
Will VidCoder be providing this upgrade soon? I just installed the recent Nightly Build - HandBrake-svn6139_x86_64-Win_GUI.exe and have done some testing with awesome results.

I am seeing transcode speeds of between 2 - 5 times faster than VidCoder. Intel has the following page describing how they worked with Handbrake to implement this:

http://software.intel.com/en-us/articles/harnessing-handbrake

I have a i7 3770K processor (3rd gen) and and on this build, HandBrake displays the new option on the video tab for video codec: H.264 (Intel QSV). Also, the Beta build of MCEBuddy 2.3.15 is using this feature of Handbrake. This is a "must implement" item for me to keep using VidCoder.
Coordinator
Mar 30, 2014 at 4:01 PM
I've implemented support for QSV in VidCoder (though sadly I cannot test it since I don't have the required hardware). Have you tried the Beta version of VidCoder?
Mar 30, 2014 at 5:56 PM
I did just DL the 1.5.18.0 x64 Beta and H.264 (Intel QSV) is available on the codec drop-down list. I tried 2 different WMC .wtv recorded files and both failed.

Here is the last part of a log file:

[mpeg2video @ 000000002128e460] Invalid frame dimensions 0x0.
[12:37:19] reader: first SCR 226407 id 0x2 DTS 223405
hb_qsv_param_default_preset: invalid preset 'veryfast'
encqsvInit: hb_qsv_param_default_preset failed
Failure to initialise thread 'H.264/AVC encoder (Intel QSV)'
[12:37:19] reader: done. 1 scr changes

Worker process exited unexpectedly with code -1073741819. This may be due to a HandBrake engine crash.

Encode failed.

Job completed (Elapsed Time: 6s)

Using the default codec works fine and does give me faster encodes than I had before. This leads me to believe that Handbrake is using Hardware encoding other than Intel as well. See the MCEBuddy discussion thread "Hardware/GPU Encoding" on Codeplex here:

https://mcebuddy2x.codeplex.com/discussions/530808

FYI.

Also note that my Handbrake Beta has been crashing the last few times I have loaded a file into it.
Coordinator
Apr 6, 2014 at 2:40 AM
Thanks for the report. Give 1.5.19 Beta a try; I made some fixes that I think will resolve this.
Apr 6, 2014 at 2:00 PM
Edited Apr 7, 2014 at 1:28 AM
Installed 1.5.19 Beta, Enqueue Multiple Files (7 - about 100MB each), selected Intel QSV, mp4 output, set Avg Bit Rate to 1024 (source was 1000) and Autocrop (source was wmv 640x480 with T & B black bars). Worked flawlessly, stripped black bars, completed in about 2 - 3 minutes! Elapsed Time for each file was 22 or 23 seconds.

Thanks for the quick fix. IMO, anyone with the Intel 2nd Generation or newer Core with Intel HD Graphics on CPU should be using this Beta. You will be impressed with the speed increase.

On my system, the Intel graphics is my secondary video adapter, I just have it connected to a TV and use it as an extended display in a multiple monitor setup.

Note that Intel's latest driver, 10.18.10.3496, mentions in the Release Notes PDF under New Features:

"Intel Quick Sync Video now enabled on select Pentium and Celeron processors as called out in the ‘HARDWARE’ section
above" so this or a newer driver might be needed for QSV to work properly.

Again here is Intel's description of QSV and Handbrake: http://software.intel.com/en-us/articles/harnessing-handbrake

Now, if only VidCoder had the capability of merging / joining multiple files into 1, it would be my go-to application for just about all of my video needs.

Great work, RandomEngy!
Apr 24, 2014 at 11:38 AM
failed to encode a video using intel qsv.
my mother board is intel haswell chipset with iGPU HD4600.
vidcoder version is 1.5.21.0 beta x64

this is the log
hb_qsv_param_default_preset: invalid preset 'veryfast'
encqsvInit: hb_qsv_param_default_preset failed
Failure to initialise thread 'H.264/AVC encoder (Intel QSV)'
[18:34:38] reader: done. 1 scr changes

Worker process exited unexpectedly with code -1073741819. This may be due to a HandBrake engine crash.

Encode failed.

Apr 24, 2014 at 11:19 PM
I'm curious should I have to install intel media sdk to work with quick sync as video encoder ?
Apr 25, 2014 at 7:36 AM
I figured out the issue of encoding failed with quicksync.
It may be due to the preset UI which associated with encoder preset.

Under h264 cpu encoder, the default preset is "Very Fast"
Image

When I switch the encoder to H.264 (Intel QSV), the default preset is still "Very Fast" which is not available from the QSV encoder (this is the cause of the error)
Image

Then I drag the preset bar once, it will reset into three preset only, Speed, Balanced and Quality
Image

Now I could use either of three preset value with QSV. And video is transcoded successfully.


Some information regarding the output file size.
original video: 1280x720 h264 ~ 1.6GB
the video is transcoded into 1024x576 h264
the h264 cpu encoder is almost half of the original size
intel qsv speed preset: 1.1GB
intel qsv balanced preset almost the same size of speed preset
intel qsv quality preset: ~2.2GB
Coordinator
Apr 25, 2014 at 5:18 PM
Thanks for the detailed error report and follow-up. QSV doesn't work on my machine so this is really helpful. I have what I think should be a fix for the issue ready for the next beta release.
Apr 27, 2014 at 3:14 AM
http://www.tetrachromesoftware.com/q264Test1Analysis/q264test_1.html

From the post above stated, Intel quicksync expose 7 levels of Speed-Quality parameters.
May 4, 2014 at 10:20 PM
Try this in more settings:

tu=4:ref=4:gop-ref-dist=0:gop-pic-size=0:vbv-bufsize=78125:vbv-maxrate=62500:extbrc=1

This helps reinforce Intel standards for several things that were default anyway, and turns on buffers, 4 reference frames & ExtendedBitrateControl, which are not turned on automatically. You will see a difference in the file sizes & quality using both CQ & Avg Bitrate. TU= allows you to set the quality level you prefer. GMB in Handbrake's forum likes TU=4 so I use it. I also have an I7=3770K, so our options are limited somewhat. Had you a Haswell processor, TU=1 is needed for trellis to work.

[17:05:29] encqsvInit: using full QSV path
[17:05:29] encqsvInit: TargetUsage 4 AsyncDepth 4
[17:05:29] encqsvInit: GopRefDist 3 GopPicSize 256 NumRefFrame 4
[17:05:29] encqsvInit: BFrames on
[17:05:29] encqsvInit: RateControlMethod CQP with QPI 26 QPP 28 QPB 30
[17:05:29] encqsvInit: CAVLC off
[17:05:29] encqsvInit: H.264 profile High @ level 3.0
[17:05:29] qsv_enc_init: using 'hardware (1)' implementation, API: 1.7

This is all an Ivy Bridge can turn on. API 1.8 did not increase the scope of settings, unfortunately.
Coordinator
May 7, 2014 at 5:12 AM
Okay the issues on switching presets should be fixed in 1.5.22 Beta.