<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 11, 2024 at 8:43 PM Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com">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"><u></u>
<div>
<br>
<br>
<br>
<div>Den 09.11.2024 17:16, skrev Andrew
Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">сб, 9 нояб. 2024 г., 19:10
Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com" 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>
<br>
<div>Den 09.11.2024 10:48, skrev Terje J. Hanssen:<br>
</div>
<blockquote type="cite"> <br>
<br>
<br>
<div>Den 09.11.2024 00:10, skrev Andrew Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">сб, 9 нояб.
2024 г., 01:58 Terje J. Hanssen <<a href="mailto:terjejhanssen@gmail.com" rel="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>
<br>
<div>Den 07.11.2024 22:53, skrev Terje J.
Hanssen:<br>
</div>
<blockquote type="cite"> <br>
<br>
<br>
<div>Den 07.11.2024 20:41, skrev Andrew
Randrianasulu:<br>
</div>
<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>
<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>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">sorry I
mean set like this</div>
<div dir="auto">export
CIN_10BIT_ENC=1</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
</div>
</blockquote>
<br>
Now hevc_vaapi was able to
render to yuv420p10le, that
is 10-bit 420p, by selecting
pixels p010le.<br>
Also rendering with pixels
y210 resulted in
yuv420p10le, that is not
10-bit 422p as for hevc_qsv
below.<br>
<br>
I would assume this is
caused due to the incomplete
hevc_vapi.mp4 preset as
shown below?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">More like incomplete
code that does not yet know how to
get custom format ... so far as
name says it only adds 10bit
4:2:0 encoding, not 4:2:2
subsampling.</div>
</div>
</blockquote>
<blockquote type="cite">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">can you test other
vaapi/qsv profiles too?</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">also with test
picture actually containing more
than 8bit values? ;) </div>
</div>
</blockquote>
<br>
To the latter; the input file cfhd01.mkv
was 10bit 422: yuv422p10le<br>
<br>
Maybe have a look at and compare with
the hevc_qsv code that managed 10bit
422: yuv422p10le?<br>
<br>
<br>
</blockquote>
<br>
Summary<br>
----------------<br>
<br>
hevc_vaapi.mp4 and av1_vaapi.mp4<br>
Pixels: vaapi (default and only
option) works and results in yuv420p<br>
p010 or p010le written
works and result in yuv420p10le<br>
y210 or all variants
y210le/Y210/le render (with fallback) to
yuv420p10le<br>
<br>
h264_vaapi.mp4 didn't render (error
message)<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">yeah, no 10bit h264 here (while
possible by spec)</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>
av1_qsv.mp4 is for external ffmpeg<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">if you still have my onevpl patch
applied (and enabled it earlier with configure
switch) too - qsv should work ...</div>
<div dir="auto"><br>
</div>
<div dir="auto">try it too just in case?</div>
</div>
</blockquote>
<br>
av1_qsv.mp4<br>
Would not render at all<br>
<blockquote><font face="Courier New, Courier, monospace">[av1_qsv @
0x7fe19826f240] Current picture structure is
unsupported</font><br>
<font face="Courier New, Courier, monospace">[av1_qsv
@ 0x7fe19826f240] some encoding parameters are not
supported by the QSV runtime. Please double check
the input parameters.</font><br>
<font face="Courier New, Courier, monospace">FFMPEG::open_encoder
err: Function not implemented</font><br>
<font face="Courier New, Courier, monospace">int
FFMPEG::open_encoder(const char*, const char*):</font><br>
<font face="Courier New, Courier, monospace">open
failed
av1_qsv:/Videoklipp/Cineform/cfhd01_av1_qsv_pix_nv12.mp4</font><br>
<font face="Courier New, Courier, monospace">Render::render_single:
Session finished.</font><br>
</blockquote>
<br>
hevc_qsv.mp4<br>
Does render, but only to yuv420p now.<br>
For one or another reason pixel formats p010le and
y210le results in yuv420p.<br>
That is I am not able to reconstruct the previous
10bit results below.<br>
I do another attempt next day.<br>
</blockquote>
<br>
<br>
hevc_qsv.mp4 revised:<br>
pixel formats p010le and y210le render again to
yuv420p10le and .yuv422p10le respectively<br>
Woops; only when these window lines are commented out as
written in my previous post !<br>
<blockquote><font face="Courier New, Courier, monospace">#
profile=main</font><br>
<font face="Courier New, Courier, monospace"> #
cin_pix_fmt=nv12</font><br>
</blockquote>
Works both with and without <br>
export CIN_10BIT_ENC=1<br>
before cin/bin<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">we most likely will need new profiles for 10bit
everything anyway ...</div>
<div dir="auto"><br>
</div>
<div dir="auto">thanks for continued (and very exhaustive!)
testing <br>
</div>
</div>
</blockquote>
<br>
Also the preset's combination of pixel formats and the right
(ffmpeg) codec profiles would need an overhaul. <br>
<br>
As mentioned already above:<br>
<br>
hevc_qsv.mp4 revised:<br>
pixel formats p010le and y210le render again to yuv420p10le and
.yuv422p10le respectively<br>
Woops; only when these window lines are commented out as written in
my previous post !<br>
<blockquote> <font face="Courier New, Courier, monospace">#
profile=main</font><br>
<font face="Courier New, Courier, monospace"> # cin_pix_fmt=nv12</font><br>
</blockquote>
<br>
I experimented additional and got<br>
<br>
y210/profile=1 ==> yuv422p10le<br>
<br>
y210/ profile=main10/ profile=2/ profile=3 ==> yuv420p10le<br>
<br>
I got similar results with my own dynamic Cingg built with ffmpeg
7.1.<br>
<br>
--------------------------<br>
<br>
So a question beside:<br>
<br>
Yesterday I did a new (monthly) upgrade of Tumbleweed-Slowroll,
which replaced Packman package libs and ffmpeg 7.1<br>
<br>
After that, the static Cingg with onevpl and 10bit patch would not
render hevc_qsv.<br>
<br>
Today's upgrade with new Packman packages up-to-date with the new
Slowroll version, and now Cingg worked as before:<br>
<br>
ffmpeg-7 ffmpeg-7-libavcodec-devel ffmpeg-7-libavdevice-devel
ffmpeg-7-libavfilter-devel<br>
ffmpeg-7-libavformat-devel ffmpeg-7-libavutil-devel
ffmpeg-7-libpostproc-devel ffmpeg-7-libswresample-devel<br>
ffmpeg-7-libswscale-devel libavcodec61 libavdevice61 libavfilter10
libavformat61 libavutil59 libpostproc58<br>
libswresample5 libswscale8<br>
<br>
So even Cingg with onevpl is static built, it looks like it is
dependent of one or more system packages/libs beside?<br>
Any idea what packages it can be ?<br></div></blockquote><div><br></div><div><br></div><div>onevpl/vaapi/vdpau - they all linked dynamically (not sure if static version of them even possible)<br></div><div><br></div><div> </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>
<blockquote type="cite">
<div dir="auto">
<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>
<br>
<br>
<blockquote type="cite"> <br>
<br>
<blockquote type="cite">
<div dir="auto">
<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>
<br>
<br>
<blockquote type="cite">
<blockquote type="cite">
<div dir="auto">
<div dir="auto">(probably made up
something in GIMP 2.10, save as
tiff/EXR, import in cingg, set
format to rgba-float, rendrer
..... hm, may be use YUView to see
pixel values independently of
cinelerra's decoding abilities? a
bit of adventure, but should
provide some proof about encoding)</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>
<font face="Courier New, Courier, monospace">ffprobe -hide_banner
cfhd01_hevc_vaapi_pix_p010le.mp4<br>
Input #0,
mov,mp4,m4a,3gp,3g2,mj2,
from
'cfhd01_hevc_vaapi_pix_p010le.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.20,
start: 0.000000, bitrate:
11082 kb/s<br>
Stream #0:0[0x1](und):
Video: hevc (Main 10)
(hev1 / 0x31766568),
yuv420p10le(tv,
bt709/unknown/unknown, top
coded first (swapped)),
1920x1080 [SAR 1:1 DAR
16:9], 11080 kb/s, 25 fps,
25 tbr, 12800 tbn
(default)<br>
Metadata:<br>
handler_name :
VideoHandler<br>
vendor_id :
[0][0][0][0]<br>
<br>
ffprobe -hide_banner
cfhd01_hevc_vaapi_pix_y210.mp4<br>
Input #0,
mov,mp4,m4a,3gp,3g2,mj2,
from
'cfhd01_hevc_vaapi_pix_y210.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.20,
start: 0.000000, bitrate:
11082 kb/s<br>
Stream #0:0[0x1](und):
Video: hevc (Main 10)
(hev1 / 0x31766568),
yuv420p10le(tv,
bt709/unknown/unknown, top
coded first (swapped)),
1920x1080 [SAR 1:1 DAR
16:9], 11080 kb/s, 25 fps,
25 tbr, 12800 tbn
(default)<br>
Metadata:<br>
handler_name :
VideoHandler<br>
vendor_id :
[0][0][0][0]<br>
<br>
</font>
<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>
<br>
No hevc_vaapi
10bit worked:<br>
<br>
<font face="Courier New, Courier, monospace">localhost:/Cin/ffmpeg/video # cat
hevc_vaapi.mp4<br>
mp4 hevc_vaapi<br>
#
cin_hw_dev=vaapi</font><br>
<br>
I tested
hevc_vaapi.m4
and tried to
write p010 both
in the pixels
field and as
format=p010 in
the widget,<br>
but only 8bit
420p each time.<br>
<br>
-------------------------------<br>
<br>
hevc_qsv 10 bit
worked with p010
and with y210<br>
<br>
<font face="Courier New, Courier, monospace">localhost:/Cin/ffmpeg/video # cat
hevc_qsv.mp4<br>
# only usable
with ext.
ffmpeg,
another pixfmt
is yuyv422<br>
mp4 hevc_qsv<br>
# profile=main<br>
#
cin_pix_fmt=nv12<br>
<br>
<br>
ffprobe
-hide_banner
cfhd01_hevc_qsv_pix_p010le.mp4<br>
Input #0,
mov,mp4,m4a,3gp,3g2,mj2,
from
'cfhd01_hevc_qsv_pix_p010le.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.20,
start:
0.000000,
bitrate: 28276
kb/s<br>
Stream
#0:0[0x1](und):
Video: hevc
(Main 10)
(hev1 /
0x31766568),
yuv420p10le(tv,
bt709/unknown/unknown, top coded first (swapped)), 1920x1080 [SAR 1:1
DAR 16:9],
28273 kb/s, 25
fps, 25 tbr,
12800 tbn
(default)<br>
Metadata:<br>
handler_name
: VideoHandler<br>
vendor_id
: [0][0][0][0]<br>
<br>
<br>
ffprobe
-hide_banner
cfhd01_hevc_qsv_pix_y210le.mp4<br>
Input #0,
mov,mp4,m4a,3gp,3g2,mj2,
from
'cfhd01_hevc_qsv_pix_y210le.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.20,
start:
0.000000,
bitrate: 32074
kb/s<br>
Stream
#0:0[0x1](und):
Video: hevc
(Rext) (hev1 /
0x31766568),
yuv422p10le(tv,
bt709/unknown/unknown, top coded first (swapped)), 1920x1080 [SAR 1:1
DAR 16:9],
32071 kb/s, 25
fps, 25 tbr,
12800 tbn
(default)<br>
Metadata:<br>
handler_name
: VideoHandler<br>
vendor_id
: [0][0][0][0]<br>
</font><br>
<blockquote type="cite">
<div dir="ltr">
<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>
<blockquote type="cite">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">you
also can set
bin/ffmpeg/encode.opts
loglevel to
debug, but
render exactly
one frame so
log will be
smaller.</div>
</div>
</blockquote>
<br>
How to render
render exactly
one frame ?<br>
</div>
</blockquote>
<div><br>
</div>
<div>In
render dialog
window there
is selection
of render
range with 4
choices ... 1
frame mp4/webm
should be
perfectly
legal :) <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>
<blockquote type="cite">
<div dir="auto">
<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><font face="Courier New, Courier, monospace"><br>
<br>
<br>
<br>
</font>
<blockquote type="cite">
<div dir="auto">
<div dir="auto"><font face="Courier New, Courier, monospace"><br>
</font></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> <font face="Courier New, Courier, monospace"><br>
</font> <font face="Courier New, Courier, monospace"><br>
"git log"
where?<br>
</font></div>
</blockquote>
</div>
</div>
<div dir="auto"><font face="Courier New, Courier, monospace"><br>
</font></div>
<div dir="auto"><font face="Courier New, Courier, monospace"><br>
</font></div>
<div dir="auto"><font face="Courier New, Courier, monospace">in cinelerra-5.1 directory, or
some down the
hierarchy ...</font></div>
<div dir="auto"><font face="Courier New, Courier, monospace"><br>
</font></div>
<div dir="auto"><font face="Courier New, Courier, monospace">this is command, part of git
suite of
commands.</font></div>
<div dir="auto"><font face="Courier New, Courier, monospace"><br>
</font></div>
<div dir="auto"><font face="Courier New, Courier, monospace">displays log of commits in git
repo. (for me
it uses
l"less" as
pager, so you
can scroll
around and
search)</font></div>
<div dir="auto"><font face="Courier New, Courier, monospace"><br>
</font></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>
<blockquote type="cite">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div><br>
<br>
<br>
<br>
<br>
<br>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote></div></div>