[Cin] so, it looks like qsv integration a bit harder than just adding few lines ....

Terje J. Hanssen terjejhanssen at gmail.com
Thu Sep 26 01:06:45 CEST 2024



Den 25.09.2024 23:22, skrev Andrew Randrianasulu:
>
>
> чт, 26 сент. 2024 г., 00:16 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>     Den 25.09.2024 21:33, skrev Andrew Randrianasulu:
>>
>>
>>     ср, 25 сент. 2024 г., 18:25 Terje J. Hanssen
>>     <terjejhanssen at gmail.com>:
>>
>>
>>
>>         Den 25.09.2024 00:27, skrev Andrew Randrianasulu:
>>>         try this git patch, do not forgot to make install again, or
>>>         put profiles in bin/ffmpeg/video folder manually.
>>
>>         # cd /home/cinelerra/cinelerra-5.1
>>         # mv /home/terje/0001-Qsv-encoders-for-testing.patch .
>>
>>         # git am 0001-Qsv-encoders-for-testing.patch
>>         Applying: Qsv encoders for testing
>>
>>
>>         make install > make_install.log 2&1
>>
>>
>>
>>     make install > make_install.log 2>&1 ?
>>
>     Sorry. I should cleanup all ">" with Find & Replace in my note,
>     and oversaw here should be two of them in this  command ;(
>
>     Now make install went through without faults as I could see, but
>     attach it by email again.
>
>     But unhappily, no success with testing Cingg Qsv Rendering.
>     All attempts so far breaks with the output below:
>
>         FFMPEG::open_encoder  err: Internal bug, should not have happened
>         int FFMPEG::open_encoder(const char*, const char*):
>
>     ----------
>     localhost:/home/cinelerra/cinelerra-5.1 # bin/cin
>     Cinelerra Infinity - built: Sep 23 2024 10:31:07
>     ----------
>     1)
>     Loaded hdv09_04.m2t
>     Render:
>     Output to file: /Videoklipp/QSV/hdv09_04_h264_qsv.mp4
>     File format: FFMPEG-mp4
>     Compression: h264_qsv.mp4
>     Pixels: qsv
>
>     libva info: VA-API version 1.22.0
>     libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
>     libva info: Found init function __vaDriverInit_1_21
>     libva info: va_openDriver() returns 0
>     libva info: VA-API version 1.22.0
>     libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
>     libva info: Found init function __vaDriverInit_1_21
>     libva info: va_openDriver() returns 0
>
>     FFMPEG::open_encoder  err: Internal bug, should not have happened
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed h264_qsv:/Videoklipp/QSV/hdv09_04_h264_qsv.mp4
>     Render::render_single: Session finished.
>     --------------
>     2a)
>     Loaded hdv09_04.m2t
>     Render:
>     Output to file: /Videoklipp/QSV/hdv09_04_h265_qsv.mp4
>     File format: FFMPEG-mp4
>
>     Compression: h265_qsv.mp4
>     Pixels: qsv
>
>     [hevc_qsv encoder @ 0x7f44e0d0bd80] [Eval @ 0x7f44e57eb6f0]
>     Undefined constant or missing '(' in 'high'
>     [hevc_qsv encoder @ 0x7f44e0d0bd80] Unable to parse option value
>     "high"
>     [hevc_qsv encoder @ 0x7f44e0d0bd80] Error setting option profile
>     to value high.
>     FFMPEG::open_encoder  err: Invalid argument
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4
>     Render::render_single: Session finished.
>

# profile=high
Pixels: qsv (yuv420 isn't available)

Didn't render:
FFMPEG::open_encoder  err: Internal bug, should not have happened
int FFMPEG::open_encoder(const char*, const char*):
open failed hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4
Render::render_single: Session finished.



>     ----------------
>     2b)
>     Compression: h265_qsv.mp4
>     Pixels: p010le
>
>     [hevc_qsv encoder @ 0x7f93dcdb3c00] [Eval @ 0x7f93cbff06f0]
>     Undefined constant or missing '(' in 'high'
>     [hevc_qsv encoder @ 0x7f93dcdb3c00] Unable to parse option value
>     "high"
>     [hevc_qsv encoder @ 0x7f93dcdb3c00] Error setting option profile
>     to value high.
>     FFMPEG::open_encoder  err: Invalid argument
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4
>     Render::render_single: Session finished.
>

Some progress:

# profile=high
Pixels: yuvy422 (yuv420 isn't available)
Settings>Appearance: BT.709/MPEG2

Rendered:
Render::render_single: Session finished.
** rendered 5972 frames in 33.999 secs, 175.652 fps
audio0 pad 64 0 (64)

VLC playback OK

ffprobe -hide_banner hdv09_04_h265_qsv.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'hdv09_04_h265_qsv.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf61.1.100
   Duration: 00:03:58.88, start: 0.000000, bitrate: 3359 kb/s
   Stream #0:0[0x1](und): Video: hevc (Rext) (hev1 / 0x31766568), 
yuv422p(tv, bt709/unknown/unknown, top coded first (swapped)), 1440x1080 
[SAR 4:3 DAR 16:9], 3223 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
       Metadata:
         handler_name    : VideoHandler
         vendor_id       : [0][0][0][0]
   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 
stereo, fltp, 129 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
         vendor_id       : [0][0][0][0]



>     ----------------
>     3a)
>     Loaded hdv09_04.m2t
>     Render:
>     Output to file: /Videoklipp/QSV/hdv09_04_av1_qsv.mp4
>     File format: FFMPEG-mp4
>
>     Compression: av1_qsv.mp4
>     Pixels: qsv
>
>     FFMPEG::open_encoder  err: Internal bug, should not have happened
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed av1_qsv:/Videoklipp/QSV/hdv09_04_av1_qsv.mp4
>     Render::render_single: Session finished.
>     --------------
>     3b)
>     Compression: av1_qsv.mp4
>     Pixels: p010le
>
>     [av1_qsv @ 0x7f1c302e7080] Current picture structure is unsupported
>     [av1_qsv @ 0x7f1c302e7080] some encoding parameters are not
>     supported by the QSV runtime. Please double check the input
>     parameters.
>     FFMPEG::open_encoder  err: Function not implemented
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed av1_qsv:/Videoklipp/QSV/hdv09_04_av1_qsv.mp4
>     Render::render_single: Session finished.
>     -----------------
>     4a)
>     Loaded hd01.mov
>     Render:
>     Output to file: /Videoklipp/QSV/hdv09_04_h265_qsv.mp4
>     File format: FFMPEG-mp4
>
>     Compression: h265_qsv.mp4
>     Pixels: qsv
>
>     [hevc_qsv encoder @ 0x7f4b8d6f9ac0] [Eval @ 0x7f4b62ff66f0]
>     Undefined constant or missing '(' in 'high'
>     [hevc_qsv encoder @ 0x7f4b8d6f9ac0] Unable to parse option value
>     "high"
>     [hevc_qsv encoder @ 0x7f4b8d6f9ac0] Error setting option profile
>     to value high.
>     FFMPEG::open_encoder  err: Invalid argument
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4
>     Render::render_single: Session finished.
>
>
> I think you can try to comment out (with #) line with
> profile=high. in h265_qsv.mp4

# profile=high
Pixels: qsv (yuv420 isn't available)

Didn't render:
FFMPEG::open_encoder  err: Internal bug, should not have happened
int FFMPEG::open_encoder(const char*, const char*):
open failed hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4
Render::render_single: Session finished.


>
> You also probably can stick to yuv420p (if available) because qsv 
> implies image already in hw-specifuc format and ffmpeg does not do 
> this conversion for us
>
>
>     --------------------
>     4b)
>     Compression: h265_qsv.mp4
>     Pixels: yuyv422
>
>     [hevc_qsv encoder @ 0x7f4ba4070f00] [Eval @ 0x7f4b5bff86f0]
>     Undefined constant or missing '(' in 'high'
>     [hevc_qsv encoder @ 0x7f4ba4070f00] Unable to parse option value
>     "high"
>     [hevc_qsv encoder @ 0x7f4ba4070f00] Error setting option profile
>     to value high.
>     FFMPEG::open_encoder  err: Invalid argument
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4
>     Render::render_single: Session finished.
>

Some progress:

# profile=high
Pixels: yuyv422 (yuv420 isn't available)
Settings>Appearance: BT.709/MPEG2

Rendered:
FFStream::encode_frame: encode failed.
file: /Videoklipp/MOV/hd01_qsv.mp4
   err: Resource temporarily unavailable
FFStream::flush failed
:file:/Videoklipp/MOV/hd01_qsv.mp4
   err: Operation not permitted
Render::render_single: Session finished.
** rendered 1781 frames in 14.617 secs, 121.844 fps
audio0 pad 128 0 (128)

VLC playback OK

ffprobe -hide_banner hd01_qsv.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'hd01_qsv.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf61.1.100
   Duration: 00:01:11.28, start: 0.000000, bitrate: 2744 kb/s
   Stream #0:0[0x1](und): Video: hevc (Rext) (hev1 / 0x31766568), 
yuv422p(tv, bt709/unknown/unknown, top coded first (swapped)), 1920x1080 
[SAR 1:1 DAR 16:9], 2377 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
       Metadata:
         handler_name    : VideoHandler
         vendor_id       : [0][0][0][0]
   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 
16 channels, fltp, 378 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
         vendor_id       : [0][0][0][0]





>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20240926/6ee5faf5/attachment-0001.htm>


More information about the Cin mailing list