<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">пт, 27 сент. 2024 г., 12:40 Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com" target="_blank" rel="noreferrer">terjejhanssen@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div>
<br>
<br>
<div>Den 26.09.2024 01:18, skrev Andrew
Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Sep 26, 2024 at
2:06 AM Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com" rel="noreferrer noreferrer" target="_blank">terjejhanssen@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> <br>
<br>
<div>Den 25.09.2024 23:22, skrev Andrew Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">чт, 26 сент.
2024 г., 00:16 Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com" rel="noreferrer noreferrer" target="_blank">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> <br>
<br>
<div>Den 25.09.2024 21:33, skrev Andrew
Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">ср,
25 сент. 2024 г., 18:25 Terje J.
Hanssen <<a href="mailto:terjejhanssen@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> <br>
<br>
<div>Den 25.09.2024 00:27, skrev
Andrew Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">try this git
patch, do not forgot to make
install again, or put profiles
in bin/ffmpeg/video folder
manually.</div>
</blockquote>
<br>
# cd /home/cinelerra/cinelerra-5.1<br>
# mv
/home/terje/0001-Qsv-encoders-for-testing.patch
.<br>
<br>
# git am
0001-Qsv-encoders-for-testing.patch<br>
Applying: Qsv encoders for testing<br>
<br>
<br>
make install > make_install.log
2&1<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">make install >
make_install.log 2>&1 ?</div>
<br>
</div>
</blockquote>
Sorry. I should cleanup all ">" with Find
& Replace in my note, and oversaw here
should be two of them in this command ;(<br>
<br>
Now make install went through without faults
as I could see, but attach it by email again.<br>
<br>
But unhappily, no success with testing Cingg
Qsv Rendering.<br>
All attempts so far breaks with the output
below:<br>
<blockquote>FFMPEG::open_encoder err:
Internal bug, should not have happened<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
</blockquote>
----------<br>
localhost:/home/cinelerra/cinelerra-5.1 #
bin/cin<br>
Cinelerra Infinity - built: Sep 23 2024
10:31:07<br>
----------<br>
1)<br>
Loaded hdv09_04.m2t<br>
Render: <br>
Output to file:
/Videoklipp/QSV/hdv09_04_h264_qsv.mp4<br>
File format: FFMPEG-mp4<br>
Compression: h264_qsv.mp4<br>
Pixels: qsv<br>
<br>
libva info: VA-API version 1.22.0<br>
libva info: Trying to open
/usr/lib64/dri/iHD_drv_video.so<br>
libva info: Found init function
__vaDriverInit_1_21<br>
libva info: va_openDriver() returns 0<br>
libva info: VA-API version 1.22.0<br>
libva info: Trying to open
/usr/lib64/dri/iHD_drv_video.so<br>
libva info: Found init function
__vaDriverInit_1_21<br>
libva info: va_openDriver() returns 0<br>
<br>
FFMPEG::open_encoder err: Internal bug,
should not have happened<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
open failed
h264_qsv:/Videoklipp/QSV/hdv09_04_h264_qsv.mp4<br>
Render::render_single: Session finished.<br>
--------------<br>
2a)<br>
Loaded hdv09_04.m2t<br>
Render: <br>
Output to file:
/Videoklipp/QSV/hdv09_04_h265_qsv.mp4<br>
File format: FFMPEG-mp4<br>
<br>
Compression: h265_qsv.mp4<br>
Pixels: qsv<br>
<br>
[hevc_qsv encoder @ 0x7f44e0d0bd80] [Eval @
0x7f44e57eb6f0] Undefined constant or missing
'(' in 'high'<br>
[hevc_qsv encoder @ 0x7f44e0d0bd80] Unable to
parse option value "high"<br>
[hevc_qsv encoder @ 0x7f44e0d0bd80] Error
setting option profile to value high.<br>
FFMPEG::open_encoder err: Invalid argument<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
open failed
hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4<br>
Render::render_single: Session finished.<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
# profile=high<br>
Pixels: qsv (yuv420 isn't available)<br>
<br>
Didn't render:<br>
FFMPEG::open_encoder err: Internal bug, should not have
happened<br>
int FFMPEG::open_encoder(const char*, const char*):<br>
open failed hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4<br>
Render::render_single: Session finished.<br>
<br>
<br>
<br>
<blockquote type="cite">
<div dir="auto">
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> ----------------<br>
2b)<br>
Compression: h265_qsv.mp4<br>
Pixels: p010le<br>
<br>
[hevc_qsv encoder @ 0x7f93dcdb3c00] [Eval @
0x7f93cbff06f0] Undefined constant or missing
'(' in 'high'<br>
[hevc_qsv encoder @ 0x7f93dcdb3c00] Unable to
parse option value "high"<br>
[hevc_qsv encoder @ 0x7f93dcdb3c00] Error
setting option profile to value high.<br>
FFMPEG::open_encoder err: Invalid argument<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
open failed
hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4<br>
Render::render_single: Session finished.<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
Some progress:<br>
<br>
# profile=high<br>
Pixels: yuvy422 (yuv420 isn't available)<br>
Settings>Appearance: BT.709/MPEG2<br>
<br>
Rendered:<br>
Render::render_single: Session finished.<br>
** rendered 5972 frames in 33.999 secs, 175.652 fps<br>
audio0 pad 64 0 (64)<br>
<br>
VLC playback OK<br>
<br>
ffprobe -hide_banner hdv09_04_h265_qsv.mp4<br>
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'hdv09_04_h265_qsv.mp4':<br>
Metadata:<br>
major_brand : isom<br>
minor_version : 512<br>
compatible_brands: isomiso2mp41<br>
encoder : Lavf61.1.100<br>
Duration: 00:03:58.88, start: 0.000000, bitrate: 3359
kb/s<br>
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)<br>
Metadata:<br>
handler_name : VideoHandler<br>
vendor_id : [0][0][0][0]<br>
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a /
0x6134706D), 48000 Hz, stereo, fltp, 129 kb/s (default)<br>
Metadata:<br>
handler_name : SoundHandler<br>
vendor_id : [0][0][0][0]<br>
<br>
</div>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>ah, so it need tv range .. try also with Pixels nv12
(worked for me on mediacodec)<br>
</div>
</div>
</div>
</blockquote>
<br>
Not really.,<br>
Also the default at first startup, appearance BT.601-PAL/MJPEG,
worked, and then ffprobe output<br>
Stream #0:0[0x1](und): Video: hevc (Rext) (hev1 / 0x31766568),
yuv422p(pc, bt470bg/unknown/unknown, top coded first (swapped)),
1440x1080 [SAR 4:3 DAR 16:9], 3248 kb/s, 25 fps, 25 tbr, 12800 tbn
(default)<br>
<br>
I just changed it to BT.701/MPEG which is for HD video, and I also
remembed you also suggested this in a previous thread.<br>
<br>
Both yuv422 and nv12 work.<br>
<br>
But why isn't also the usual yuv420p available for h264 and h265?<br></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">not sure, may be qsv library does not support this?</div><div dir="auto"><br></div><div dir="auto">at least I can't see it in source</div><div dir="auto"><br></div><div dir="auto"><a href="https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavcodec/qsvenc_hevc.c#l399">https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavcodec/qsvenc_hevc.c#l399</a><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<br>
Possibly also rename h265 to hevc as ffmpeg use?<br></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">ok, I'll rename it and add nv12 as default pix format.</div><div dir="auto"><br></div><div dir="auto">can you also see if h264 works with nv12?</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> <br>
<br>
<blockquote type="cite">
<div dir="auto">
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> ----------------<br>
3a)<br>
Loaded hdv09_04.m2t<br>
Render: <br>
Output to file:
/Videoklipp/QSV/hdv09_04_av1_qsv.mp4<br>
File format: FFMPEG-mp4<br>
<br>
Compression: av1_qsv.mp4<br>
Pixels: qsv<br>
<br>
FFMPEG::open_encoder err: Internal bug,
should not have happened<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
open failed
av1_qsv:/Videoklipp/QSV/hdv09_04_av1_qsv.mp4<br>
Render::render_single: Session finished.<br>
--------------<br>
3b)<br>
Compression: av1_qsv.mp4<br>
Pixels: p010le<br>
<br>
[av1_qsv @ 0x7f1c302e7080] Current picture
structure is unsupported<br>
[av1_qsv @ 0x7f1c302e7080] some encoding
parameters are not supported by the QSV
runtime. Please double check the input
parameters.<br>
FFMPEG::open_encoder err: Function not
implemented<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
open failed
av1_qsv:/Videoklipp/QSV/hdv09_04_av1_qsv.mp4<br>
Render::render_single: Session finished.<br>
-----------------<br>
4a)<br>
Loaded hd01.mov<br>
Render: <br>
Output to file:
/Videoklipp/QSV/hdv09_04_h265_qsv.mp4<br>
File format: FFMPEG-mp4<br>
<br>
Compression: h265_qsv.mp4<br>
Pixels: qsv<br>
<br>
[hevc_qsv encoder @ 0x7f4b8d6f9ac0] [Eval @
0x7f4b62ff66f0] Undefined constant or missing
'(' in 'high'<br>
[hevc_qsv encoder @ 0x7f4b8d6f9ac0] Unable to
parse option value "high"<br>
[hevc_qsv encoder @ 0x7f4b8d6f9ac0] Error
setting option profile to value high.<br>
FFMPEG::open_encoder err: Invalid argument<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
open failed
hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4<br>
Render::render_single: Session finished.<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">I think you can try to comment out
(with #) line with</div>
<div dir="auto">profile=high. in h265_qsv.mp4</div>
</div>
</blockquote>
<br>
# profile=high<br>
Pixels: qsv (yuv420 isn't available)<br>
<br>
Didn't render:<br>
FFMPEG::open_encoder err: Internal bug, should not have
happened<br>
int FFMPEG::open_encoder(const char*, const char*):<br>
open failed hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4<br>
Render::render_single: Session finished.<br>
<br>
<br>
<blockquote type="cite">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">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</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> --------------------<br>
4b)<br>
Compression: h265_qsv.mp4<br>
Pixels: yuyv422<br>
<br>
[hevc_qsv encoder @ 0x7f4ba4070f00] [Eval @
0x7f4b5bff86f0] Undefined constant or missing
'(' in 'high'<br>
[hevc_qsv encoder @ 0x7f4ba4070f00] Unable to
parse option value "high"<br>
[hevc_qsv encoder @ 0x7f4ba4070f00] Error
setting option profile to value high.<br>
FFMPEG::open_encoder err: Invalid argument<br>
int FFMPEG::open_encoder(const char*, const
char*):<br>
open failed
hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4<br>
Render::render_single: Session finished.<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
Some progress:<br>
<br>
# profile=high<br>
Pixels: yuyv422 (yuv420 isn't available)<br>
Settings>Appearance: BT.709/MPEG2<br>
<br>
Rendered:<br>
FFStream::encode_frame: encode failed.<br>
file: /Videoklipp/MOV/hd01_qsv.mp4<br>
err: Resource temporarily unavailable<br>
FFStream::flush failed<br>
:<a rel="noreferrer noreferrer">file:/Videoklipp/MOV/hd01_qsv.mp4</a><br>
err: Operation not permitted<br>
Render::render_single: Session finished.<br>
** rendered 1781 frames in 14.617 secs, 121.844 fps<br>
audio0 pad 128 0 (128)<br>
<br>
VLC playback OK<br>
<br>
ffprobe -hide_banner hd01_qsv.mp4<br>
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'hd01_qsv.mp4':<br>
Metadata:<br>
major_brand : isom<br>
minor_version : 512<br>
compatible_brands: isomiso2mp41<br>
encoder : Lavf61.1.100<br>
Duration: 00:01:11.28, start: 0.000000, bitrate: 2744
kb/s<br>
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)<br>
Metadata:<br>
handler_name : VideoHandler<br>
vendor_id : [0][0][0][0]<br>
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a /
0x6134706D), 48000 Hz, 16 channels, fltp, 378 kb/s
(default)<br>
Metadata:<br>
handler_name : SoundHandler<br>
vendor_id : [0][0][0][0]<br>
<br>
<br>
<br>
<br>
<br>
<blockquote type="cite">
<div dir="auto">
<div dir="auto">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> <br>
<br>
<blockquote><br>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote></div></div></div>