<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<br>
<br>
<br>
<div class="moz-cite-prefix">Den 20.11.2024 22:50, skrev Andrew
Randrianasulu:<br>
</div>
<blockquote type="cite"
cite="mid:CA+rFky6VvxmvjMYMk7K4AS0V2bdCJaKWqRz83zpOWnWZNfvPDA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">чт, 21 нояб. 2024 г.,
00:47 Terje J. Hanssen <<a
href="mailto:terjejhanssen@gmail.com"
moz-do-not-send="true" class="moz-txt-link-freetext">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
<br>
<br>
<div>Den 20.11.2024 22:31, skrev Andrew Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">чт, 21 нояб.
2024 г., 00:27 Terje J. Hanssen <<a
href="mailto:terjejhanssen@gmail.com"
target="_blank" rel="noreferrer"
moz-do-not-send="true"
class="moz-txt-link-freetext">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
<br>
<br>
<div>Den 20.11.2024 21:38, skrev Andrew
Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">ср,
20 нояб. 2024 г., 23:31 Terje J.
Hanssen <<a
href="mailto:terjejhanssen@gmail.com" rel="noreferrer noreferrer"
target="_blank"
moz-do-not-send="true"
class="moz-txt-link-freetext">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
<br>
<br>
<div>Den 20.11.2024 20:54, skrev
Andrew Randrianasulu:<br>
</div>
<blockquote type="cite">
<div dir="auto">
<div><br>
<br>
<div class="gmail_quote">
<div dir="ltr"
class="gmail_attr">ср,
20 нояб. 2024 г.,
22:46 Terje J. Hanssen
<<a
href="mailto:terjejhanssen@gmail.com"
rel="noreferrer noreferrer noreferrer" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote
class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
<br>
<br>
<div>Den 20.11.2024
16:53, skrev
Andrew
Randrianasulu:<br>
</div>
<blockquote
type="cite">
<div dir="auto">
<div><br>
<br>
<div
class="gmail_quote">
<div dir="ltr"
class="gmail_attr">ср, 20 нояб. 2024 г., 18:26 Terje J. Hanssen <<a
href="mailto:terjejhanssen@gmail.com"
rel="noreferrer noreferrer noreferrer noreferrer" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">terjejhanssen@gmail.com</a>>:<br>
</div>
<blockquote
class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>Den
20.11.2024
06:23, skrev
Andrew
Randrianasulu:<br>
</div>
<blockquote
type="cite">
<pre>On Tue, Nov 19, 2024 at 6:59 PM Terje J. Hanssen
<a href="mailto:terjejhanssen@gmail.com"
rel="noreferrer noreferrer noreferrer noreferrer noreferrer"
target="_blank" moz-do-not-send="true"><terjejhanssen@gmail.com></a> wrote:
</pre>
<blockquote
type="cite">
<pre>Den 19.11.2024 15:08, skrev Andrew Randrianasulu:
On Tue, Nov 19, 2024 at 1:56 PM Terje J. Hanssen <a
href="mailto:terjejhanssen@gmail.com"
rel="noreferrer noreferrer noreferrer noreferrer noreferrer"
target="_blank" moz-do-not-send="true"><terjejhanssen@gmail.com></a> wrote:
</pre>
<blockquote
type="cite">
<pre>Den 19.11.2024 14:53, skrev Andrew Randrianasulu:
On Tue, Nov 19, 2024 at 1:28 PM Terje J. Hanssen <a
href="mailto:terjejhanssen@gmail.com"
rel="noreferrer noreferrer noreferrer noreferrer noreferrer"
target="_blank" moz-do-not-send="true"><terjejhanssen@gmail.com></a> wrote:
</pre>
<blockquote
type="cite">
<pre>Den 19.11.2024 06:58, skrev Andrew Randrianasulu:
вт, 19 нояб. 2024 г., 03:47 Terje J. Hanssen <a
href="mailto:terjejhanssen@gmail.com"
rel="noreferrer noreferrer noreferrer noreferrer noreferrer"
target="_blank" moz-do-not-send="true"><terjejhanssen@gmail.com></a>:
</pre>
<blockquote
type="cite">
<pre>Den 18.11.2024 10:52, skrev Andrew Randrianasulu:
It may work or break it completely ...
apply by normal patch command from inside thirdparty/ffmpeg (may be "cat pathname | patch -p1", may be "cat patchname | patch -p0") or edit libavcodec/qsvenc.c by hand.
rebuild ffmpeg, do not do make clean,
cd ../../
so you again in main directory with ./autogen.sh and bin directory with cinelerra.
touch cinelerra/ffmpeg.C
make
Hopefully this rebuild cin so on next start from bin/cin you will have something to test with tff sources.
Unfortunately, netBSD does not support hardware virtualization on AMD cpus, so for now I do not have my virtual machines. I also forgot type of cable from PSU to disks, so now I can only power up one of two sata drives.
It will be fixed eventually, but for now I hope to live up this netBSD install a bit ...
To prepare for tomorrow, because else I am stuck:
apply by normal patch command from inside thirdparty/ffmpeg (may be "cat pathname | patch -p1", may be "cat patchname | patch -p0") or edit libavcodec/qsvenc.c by hand.
Should here be a patch attached to be able to use "git am patch"?
</pre>
</blockquote>
<pre>I installed Fedora 40 in qemu on NetBSD (thankfully only booting from iso as cdrom was not working on hw virtualization - 4*3.9 {amd fx4300 } Ghz was barely enough for gnome-based (?) installer to just show up) so hopefully there will be!
</pre>
<blockquote
type="cite">
<pre>cd /Cin/thirdparty/ffmpeg-7.0 ?
may be "cat pathname | patch -p1", may be "cat patchname | patch -p0" ?
or edit libavcodec/qsvenc.c by hand. - possibly what to edit there?
cd ../../
localhost:/Cin #
</pre>
</blockquote>
<pre>When possible, I need more explanation to my questions above ..,
</pre>
</blockquote>
<pre>? If you are not comfortable applying it by hand to internal ffmpeg I'll prepare normal git am patch, just wait a bit, ok?
Yes, fine and ok. But I didn't even understand what and how to edit libavcodec/qsvenc.c by hand above ;)
</pre>
</blockquote>
<pre>Normally you just delete lines marked with "-" at very beginning, and replace them with lines marked with "+" sign in patch. Line numbers and line endings extremely important for patch, so sometimes 'innocent' patch editing resulted in no-working patch :(
for simple patches you can just edit file they normally modify by doing patch's work.
Yet, I prefer to wait for the normal git am patch ;)
</pre>
</blockquote>
<pre>try attached ?</pre>
</blockquote>
<br>
Thanks for the
patch, but
unhappily no
success so
far. Still the
same errors.<br>
<br>
In case I did
something
wrong, I have
preserved my
steps as
follow for
verification:<br>
<br>
<font
face="Courier New, Courier, monospace"># cd /Cin/thirdparty/ffmpeg-7.0<br>
<br>
# git am
0001-experimental-add-qsv-field-info-to-qsv-encoder-in-ff.patch<br>
Applying:
experimental:
add qsv field
info to qsv
encoder in
ffmpeg<br>
<br>
# cd ../.. <br>
<br>
# /Cin<br>
<br>
# touch
cinelerra/ffmpeg.C<br>
<br>
# make<br>
<br>
(no additonal
"make install"
step
mentioned!?)<br>
</font></div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">well,
just remaking
cinelerra put
resulting
binary in bin,
and plugins
and stuff
should already
be there from
previous
build.</div>
<div dir="auto"><br>
</div>
<div dir="auto">BUT
in this case
we need to
rebuild ffmpeg
itself, not
just our
interface to
it.</div>
<div dir="auto"><br>
</div>
<div dir="auto">rm
-rf
thirdparty/ffmpeg-7.0</div>
<div dir="auto"><br>
</div>
<div dir="auto">rm
thirdparty/build/ffmpeg.*</div>
<div dir="auto"><br>
</div>
<div dir="auto">make</div>
</div>
</blockquote>
<br>
/Cin/bin/cin<br>
with a new render
test here, got the
same qsv errors.<br>
<br>
<blockquote
type="cite">
<div dir="auto">
<div dir="auto"><br>
</div>
<div dir="auto">or
you can do
full rebuild
just in case,
but do not
forgot to save
profiles you
worked on for
so many days
...</div>
</div>
</blockquote>
<br>
Additional "make
install" step and
another render test
had the same qsv
errors.<br>
I checked that my
presets in
/Cin/bin/ffmpeg/video
were not
overwritten. Should
they?<br>
<br>
Or did you mean
something else with
a "full rebuild" ?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">by full
rebuild i mean running</div>
<div dir="auto"><br>
</div>
<div dir="auto">make clean</div>
<div dir="auto"><br>
</div>
<div dir="auto">./autogen.sh</div>
<div dir="auto"><br>
</div>
<div dir="auto">./configure
with switches for single
user and libvpl</div>
<div dir="auto"><br>
</div>
<div dir="auto">make</div>
<div dir="auto"><br>
</div>
<div dir="auto">make
install.</div>
<div dir="auto"><br>
</div>
<div dir="auto">by partial
rebuild i mean</div>
<div dir="auto"><br>
</div>
<div dir="auto">rm
thirdparty/build/ffmpeg.*
- files indicating that
was already built</div>
<div dir="auto"><br>
</div>
<div dir="auto">rm -rf
thirdparty/ffmpeg-7.0</div>
<div dir="auto"><br>
</div>
<div dir="auto">so on next
top level make it will
unpack and patch ffmpeg
sources anew, build .a
static libraries, and only
then you do</div>
<div dir="auto"><br>
</div>
<div dir="auto">touch
cinelerra/ffmpeg.C</div>
<div dir="auto"><br>
</div>
<div dir="auto">make</div>
<div dir="auto"><br>
</div>
<div dir="auto">so cinelerra
herself rebuilt with
updated ffmpeg libraries.</div>
<div dir="auto"><br>
</div>
<div dir="auto">depend on
how cpu power you have. I
often do partial rebuild
because I use qemu-based
virtual machines with
limited number of vCPUs
assigned to them, or build
on my android tablet.</div>
</div>
</blockquote>
<br>
<br>
Yes I see. Surely smart and
effective to do partial rebuild
whenever possible. <br>
But in this case as I didn't get
"it" to work, it is no problem
try a full rebuild lastly on my
local ws w/i7-12700KF.<br>
<br>
My noticed steps last time I
rebuild this Cingg were:<br>
---------------<br>
# /Cin<br>
# make clean <br>
# ./configure
--with-single-user --with-onevpl<br>
# make<br>
# make install<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
Hm. Still no success with regards to the qsv
rendering errors:<br>
<br>
[av1_qsv @ 0x7f61b4d67c00] Current picture
structure is unsupported<br>
<br>
<blockquote type="cite">
<div dir="auto">
<div>
<div class="gmail_quote">
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>copied back my setup profiles
from backup to bin/ffmpeg/video<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
No need. I had expected that my setup
profiles were deleted now, but not. They
looked to have outlived the full rebuild!<br>
Should they really?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">no, "make clean" deletes bin folder
and everything there...</div>
<div dir="auto"><br>
</div>
<div dir="auto">unless you put them in ffmpeg (not
bin/ffmpeg)</div>
</div>
</blockquote>
<br>
I had also saved a backup in ./ffmpeg/video/<br>
<br>
Therefore they were copied automatic back to
./bin/ffmpeg/video/ ?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">on 'make install', yes.</div>
<div dir="auto"><br>
</div>
<div dir="auto">can you visually inspect that patch altered file
as intended?</div>
</div>
</blockquote>
<br>
As written above, I was in /Cin/thirdparty/ffmpeg-7.0 when using
"git am patch"<br>
<br>
Not quite sure what key to look for in qsvenc.c <br>
fx. no search hit for "patch",<br>
but this is a copied if section from line no 849 - 868 that is
similar like some of the patch content:<br>
<br>
<font face="Courier New, Courier, monospace">if (avctx->flags
& AV_CODEC_FLAG_INTERLACED_DCT) {<br>
// it is important that PicStruct be setup correctly from
the<br>
// start--otherwise, encoding doesn't work and results in
a bunch<br>
// of incompatible video parameter errors<br>
if (avctx->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST)<br>
q->param.mfx.FrameInfo.PicStruct =
MFX_PICSTRUCT_FIELD_TFF;<br>
else<br>
q->param.mfx.FrameInfo.PicStruct =
MFX_PICSTRUCT_FIELD_BFF;<br>
// height alignment always must be 32 for interlaced video<br>
q->height_align = 32;<br>
} else {<br>
q->param.mfx.FrameInfo.PicStruct =
MFX_PICSTRUCT_PROGRESSIVE;<br>
// for progressive video, the height should be aligned to
16 for<br>
// H.264. For HEVC, depending on the version of MFX, it
should be<br>
// either 32 or 16. The lower number is better if
possible.<br>
// For AV1, it is 32<br>
q->height_align = (avctx->codec_id ==
AV_CODEC_ID_HEVC ||<br>
avctx->codec_id == AV_CODEC_ID_AV1)
? 32 : 16;<br>
}<br>
q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height,
q->height_align);</font><br>
<br>
<blockquote type="cite"
cite="mid:CA+rFky6VvxmvjMYMk7K4AS0V2bdCJaKWqRz83zpOWnWZNfvPDA@mail.gmail.com">
<div dir="auto">
<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:0 0 0 .8ex;border-left:1px #ccc solid;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">
<div class="gmail_quote">
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <br>
(another thing as CPU was mentioned. I had
top running beside running make and noticed
CPU was on just 100% <br>
That seemingly tells that make uses only a
single core, not multi-core utilization
like BD rendering used)<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">normally buildsystem makes good use
of all cores .. some things like x265 build not
really parallel for now but they take relatively
small portion of time.</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="auto">
<div>
<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>
What about patches in this new
case, are they already taken
care of without extra steps?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">hopefully yes, as I
tried to build with my patch and it
was building w/o error so I made it
into git am-compatible patch and you
applied that already.</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>
Will it still be need to start
Cinelerra with<br>
<br>
CIN_10BIT_ENC=p010le bin/cin<br>
<br>
to get 10bit vaapi?<br>
</div>
</blockquote>
</div>
</div>
<div dir="auto"><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">no, previous patch
should take care of this, no need to
use this variable anymore .</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>
<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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><font
face="Courier New, Courier, monospace"> </font><br>
# bin/cin<br>
Loaded a tff
hdv.m2t file<br>
<br>
Attempt to
render with
preset
av1_qsv_8b420.mp4<br>
<blockquote>#
av1_qsv_8b420<br>
# usable with
Pixels: nv12<br>
profile=main<br>
#
global_quality=25<br>
</blockquote>
failed with
the previous
output error:<br>
<font
face="Courier New, Courier, monospace"><br>
[av1_qsv @
0x7fc850e4f280]
Current
picture
structure is
unsupported<br>
[av1_qsv @
0x7fc850e4f280]
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</font><br>
Render::render_single: Session finished.<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>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>