Author Topic: encoding with intel h264 (HW), any plans for more configuration options ?  (Read 280 times)

thomas.rehberg

  • Newbie
  • *
  • Posts: 2
I´m running version 2.7.4 Linux 64bit, and I have a Haswell platform running. When using the intel H264 encoder (which is the ffmpeg vaapi HW encoder) I can open a config dialog, however, very limited options only.
No rate control, lookahead, etc. that one can select here. Disappointing, as my platform is compatible to use the Intel HW encoding (and yes I know it´s not of the same quality as SW encoding, but very fast and CPU friendly).
Are there any plans to add the options that are available just as you would encode at the terminal ?

I would volunteer to play the testbench, but I´m afraid I cannot change the code...

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3692
Re: encoding with intel h264 (HW), any plans for more configuration options ?
« Reply #1 on: December 12, 2019, 12:41:21 AM »
Enhancing the FFmpeg VAAPI video encoder plugin is definitely on my wish list, but not a priority.

Quote
I would volunteer to play the testbench

Thanks, I have a testbench sitting on the desk 30 cm away from the keyboard I'm typing on, so this is not a problem.

Quote
but I´m afraid I cannot change the code...

This was exactly how I thought about Avidemux three years ago, starting with zero coding knowledge.

thomas.rehberg

  • Newbie
  • *
  • Posts: 2
Re: encoding with intel h264 (HW), any plans for more configuration options ?
« Reply #2 on: December 12, 2019, 04:55:39 PM »
ok, so then nothing that I can expect near term.
Could you easily indicate where in the code the gui popup of the codec configuration is located ?

eumagga0x2a

  • Moderator
  • Hero Member
  • *****
  • Posts: 3692
Re: encoding with intel h264 (HW), any plans for more configuration options ?
« Reply #3 on: December 12, 2019, 07:10:05 PM »
It is in ffVAEncConfigure() located at avidemux_plugins/ADM_videoEncoder/ffVaH264/ADM_ffVAEncH264.cpp:346.

You will need to extend the ffvaenc_encoder struct in avidemux_plugins/ADM_videoEncoder/ffVaH264/ffVAEnc_H264.conf and regenerate the .h and the _desc.cpp files by running

Code: [Select]
../../../cmake/admSerialization.py ffVAEnc_H264.conf
in the ffVaH264 directory. New functionality will probably go into ADM_ffVAEncH264Encoder::configureContext().

For multipass encoding, you might want to look at the implementation in ADM_ffMpeg4.cpp.