[Cin] 10bit VAAPI encoding test thread continued

Terje J. Hanssen terjejhanssen at gmail.com
Thu Nov 7 17:58:05 CET 2024




Den 07.11.2024 02:29, skrev Andrew Randrianasulu:
>
>
> ср, 6 нояб. 2024 г., 23:56 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     Den 06.11.2024 19:11, skrev Andrew Randrianasulu:
>>
>>
>>     ср, 6 нояб. 2024 г., 20:37 Terje J. Hanssen
>>     <terjejhanssen at gmail.com>:
>>
>>
>>
>>
>>         Den 06.11.2024 15:17, skrev Andrew Randrianasulu:
>>>
>>>
>>>         ср, 6 нояб. 2024 г., 17:13 Terje J. Hanssen
>>>         <terjejhanssen at gmail.com>:
>>>
>>>
>>>
>>>
>>>             Den 06.11.2024 14:41, skrev Andrew Randrianasulu:
>>>>
>>>>
>>>>             ср, 6 нояб. 2024 г., 15:18 Terje J. Hanssen
>>>>             <terjejhanssen at gmail.com>:
>>>>
>>>>
>>>>
>>>>
>>>>                 Den 05.11.2024 16:19, skrev Andrew Randrianasulu:
>>>>>
>>>>>
>>>>>                 вт, 5 нояб. 2024 г., 18:16 Terje J. Hanssen
>>>>>                 <terjejhanssen at gmail.com>:
>>>>>
>>>>>                     Continued and extracted from previous threads_
>>>>>                     https://lists.cinelerra-gg.org/pipermail/cin/2024-October/008967.html
>>>>>
>>>>>                     Den 27.10.2024 21:11, skrev Terje J. Hanssen:
>>>>>>                     ........snip
>>>>>>
>>>>>>                     For me it looks like nothing has changed:
>>>>>>
>>>>>>                     localhost:/Cin # git am
>>>>>>                     0001-Experimental-try-10bit-vaapi-encoding.patch
>>>>>>                     fatal: previous rebase directory
>>>>>>                     .git/rebase-apply still exists but mbox given.
>>>>>>
>>>>>>
>>>>>>                     remove it again?
>>>>>>
>>>>>>
>>>>>>                         By the way,testing
>>>>>>
>>>>>>                         bin/cin
>>>>>>                         compression: hevc_vaapi.mp4
>>>>>>                         Pixels: vaapi (no other options)
>>>>>>                         cin_hw_dev=vaapi
>>>>>>
>>>>>>                         Renders
>>>>>>
>>>>>>                             Color space : YUV
>>>>>>                             Chroma subsampling : 4:2:0
>>>>>>                             Bit depth : 8 bits
>>>>>>
>>>>>>
>>>>>>                         The same with
>>>>>>                         CIN_10BIT_ENC=1  bin/cin
>>>>>>
>>>>>>
>>>>>>
>>>>>>                     yeah, it does not exist in normal cin, only
>>>>>>                     after you add patch.
>>>>>>
>>>>>>
>>>>>>                     may be just take a break from all this, I do
>>>>>>                     not think we will solve this problem in few
>>>>>>                     remaining days until end of October.  So ...
>>>>>>                     do not rush
>>>>>>
>>>>>>                     Ok for me.
>>>>>>
>>>>>
>>>>>                     Den 04.11.2024 21:49, skrev Andrew Randrianasulu:
>>>>>>
>>>>>>                     Terje, I think if you are ok with this idea
>>>>>>                     we can return to testing 10bit-vaapi patch ...
>>>>>>                     Hopefully in its final form it will just
>>>>>>                     allow same format= string in encoding
>>>>>>                     profiles as supported by per-file decoding
>>>>>>                     opts files now ,,,
>>>>>>
>>>>>                     I'm not sure I understood the last line yet,
>>>>>                     but I should be ready to continue
>>>>>                     vaapi-testing to-morrow.
>>>>>
>>>>>                     ====================
>>>>>
>>>>>                     Yeah,  here we are.
>>>>>                     The problem as I understood lastly, was to
>>>>>                     apply the 10bit-vaapi-encoding.patch?
>>>>>
>>>>>
>>>>>                 yes ...
>>>>>
>>>>>
>>>>>                 basically git's internal help messages usually
>>>>>                 helpful, so try to follow them?
>>>>
>>>>
>>>>                 I thougt we just tried to do that by recapping the
>>>>                 steps before:
>>>>
>>>>>                 Sorry, but now I get
>>>>>
>>>>>                 localhost:/Cin # rm -r ../.git/rebase-apply
>>>>>
>>>>>                 localhost:/Cin # git am 10bit.diff
>>>>>                 Patch format detection failed.
>>>>>
>>>>>                 I was wondering if the patch needs .patch at the
>>>>>                 end like the previous patches?
>>>>>
>>>>>                 sorry, it was git diff, not git add/git commit/git
>>>>>                 format-patch.
>>>>>
>>>>>                 may be apply it with just cat | patch -p1 or something
>>>>>
>>>>>                 or try attached
>>>>>
>>>>>                 Hm?
>>>>>
>>>>>                 localhost:/Cin # git am
>>>>>                 0001-Experimental-try-10bit-vaapi-encoding.patch
>>>>>                 Applying: Experimental: try 10bit vaapi encoding
>>>>>                 error: cinelerra-5.1/cinelerra/ffmpeg.C: does not
>>>>>                 match index
>>>>>                 Patch failed at 0001 Experimental: try 10bit vaapi
>>>>>                 encoding
>>>>>                 hint: Use 'git am --show-current-patch=diff' to
>>>>>                 see the failed patch
>>>>>                 hint: When you have resolved this problem, run
>>>>>                 "git am --continue".
>>>>>                 hint: If you prefer to skip this patch, run "git
>>>>>                 am --skip" instead.
>>>>>                 hint: To restore the original branch and stop
>>>>>                 patching, run "git am --abort".
>>>>>                 hint: Disable this message with "git config
>>>>>                 advice.mergeConflict false"
>>>>>
>>>>>                 you probably have previous patch applied
>>>>>
>>>>>                 try git reset --hard before git am.
>>>>>
>>>>>                 localhost:/Cin # git reset --hard
>>>>>                 HEAD is now at e5a5a6da Add onevpl support to
>>>>>                 build system
>>>>>
>>>>>                 The "onevpl.patch" was applied, yes.
>>>>>                 Should I apply it again, before
>>>>>                 "0001-Experimental-try-10bit-vaapi-encoding.patch"
>>>>>                 again?
>>>>>
>>>>>
>>>>>
>>>>>                 no
>>>>>
>>>>
>>>>                 So if I don't get a patch applied, I can't see I
>>>>                 have something more to test (?)
>>>>
>>>>
>>>>             sorry, I mean you of course should try to git am
>>>>             0001-Experimental-try-10bit-vaapi-encoding.patch
>>>>
>>>>             again, hopefully this time it will not complain about
>>>>             index?
>>>>
>>>>             new git log hopefully should list it after application
>>>>             as newest, topmost patch.
>>>
>>>
>>>             localhost:/ # cd /Cin
>>>             localhost:/Cin # ls -l /Cin
>>>             lrwxrwxrwx 1 root root 29 Oct 22 20:23 /Cin ->
>>>             /home/cinelerra/cinelerra-5.1
>>>
>>>
>>>             localhost:/Cin # git reset --hard
>>>             HEAD is now at e5a5a6da Add onevpl support to build system
>>>
>>>             localhost:/Cin # git am
>>>             0001-Experimental-try-10bit-vaapi-encoding.patch
>>>             fatal: previous rebase directory .git/rebase-apply still
>>>             exists but mbox given.
>>>
>>>             localhost:/Cin # git am
>>>             0001-Experimental-try-10bit-vaapi-encoding.patch
>>>             fatal: previous rebase directory .git/rebase-apply still
>>>             exists but mbox given.
>>>
>>>
>>>         remove
>>>
>>>         .git/rebase-apply
>>
>>         Oh, I forgot and missed that step.
>>
>>         localhost:/home # find . -name "rebase-apply"
>>         ./cinelerra/.git/rebase-apply
>>         localhost:/home # rm -r ./cinelerra/.git/rebase-apply
>>
>>
>>
>>>
>>>
>>>         as instructed ?
>>
>>         localhost:/Cin # git reset --hard
>>         HEAD is now at e5a5a6da Add onevpl support to build system
>>
>>         localhost:/Cin # git am
>>         0001-Experimental-try-10bit-vaapi-encoding.patch
>>         Applying: Experimental: try 10bit vaapi encoding
>>
>>         Looks better ......?
>>
>>
>>         localhost:/Cin # git log | more
>>         commit 68eb98be2183738684f1f4da2729d1ff9989ad16
>>         Author: Andrew Randrianasulu <randrianasulu at gmail.com>
>>         <mailto:randrianasulu at gmail.com>
>>         Date:   Sun Oct 27 19:43:06 2024 +0300
>>
>>             Experimental: try 10bit vaapi encoding
>>
>>         commit e5a5a6da907dbcd40d8612bdbfeea1a2a0ae6cc8
>>         Author: Andrew Randrianasulu <randrianasulu at gmail.com>
>>         <mailto:randrianasulu at gmail.com>
>>         Date:   Fri Oct 18 10:07:33 2024 +0300
>>
>>             Add onevpl support to build system
>>
>>         commit 8681d13675f32e870ab3632eaf89105415fb3961
>>         Author: Andrew Randrianasulu <randrianasulu at gmail.com>
>>         <mailto:randrianasulu at gmail.com>
>>         Date:   Wed Oct 23 16:36:19 2024 +0300
>>
>>             Add DESCRIPTION
>>
>>         commit 90138debee46e0b91adeb5d8a400158b131b0d61
>>         Author: Andrew Randrianasulu <randrianasulu at gmail.com>
>>         <mailto:randrianasulu at gmail.com>
>>         Date:   Wed Oct 23 16:29:58 2024 +0300
>>
>>             Add BUGS
>>
>>         commit 318c884532617e32904d6f4ec05a2b73832f418e
>>         Author: Andrew Randrianasulu <randrianasulu at gmail.com>
>>         <mailto:randrianasulu at gmail.com>
>>         Date:   Wed Oct 23 16:22:58 2024 +0300
>>
>>             Update README build instructions
>>
>>         commit 16ef7f3d7af3edb454b19288f084f86b02631c86
>>         Author: Andrew Randrianasulu <randrianasulu at gmail.com>
>>         <mailto:randrianasulu at gmail.com>
>>         Date:   Fri Sep 27 13:56:15 2024 +0300
>>
>>
>>
>>     so, now rebuild it ...
>
>
>     I have to get confirmed and possibly modified the steps below to
>     use this time.
>
>     A couple a weeks ago when I rebuilt Cingg-with-system-FFmpeg 7.1 I
>     used the following steps:
>
>     localhost:/Cin #
>
>     # export CFLAGS=-I/usr/include/ffmpeg
>
>     # ./configure --with-single-user --disable-static-build
>     --without-thirdparty --without-libdpx
>
>     But when I now check with
>
>     # head config.log
>
>         This file contains any messages produced by compilers while
>         running configure, to aid debugging if configure makes a mistake.
>
>         It was created by cinelerra configure 5.1, which was
>         generated by GNU Autoconf 2.72.  Invocation command line was
>
>           $ ./configure --with-single-user --with-onevpl
>
>     I don't know if this current config.log  --with-onevpl was added
>     by the later/recent onevpl patch?
>     And should --with-onevpl be added to the long configure line above
>     for the upcoming rebuilt?
>
>
> I think this time we try to make build with internal ffmpeg 7.0 
> because 7.1 introduced some changes ...
>
> so, please keep short ./configure line as currently in config.log
>
> looking at your another email: yeah, default static build does not do 
> svt-av1 by default, but we can put this aside for now ...
>
>
>     # make
>
>     # make install
>
>     # cp -R bin_use_system_ffmpeg-702/ffmpeg/video/* bin/ffmpeg/video
>
>
>>     and retry with newly-added env. variable set to 1 before
>>     launching bin/cin
>
>     Syntax, please?
>
>
> export CIN_10BIT_ENC bin/cin

The export part on a single line didn't work for me:

localhost:/Cin # export CIN_10BIT_ENC bin/cin
-bash: export: `bin/cin': not a valid identifier

Works on two separate lines:

localhost:/Cin # export CIN_10BIT_ENC
localhost:/Cin # bin/cin
Cinelerra Infinity - built: Nov  7 2024 16:27:40

-----

No hevc_vaapi 10bit worked:

localhost:/Cin/ffmpeg/video # cat hevc_vaapi.mp4
mp4 hevc_vaapi
# cin_hw_dev=vaapi

I tested hevc_vaapi.m4 and tried to write p010 both in the pixels field 
and as format=p010 in the widget,
but only 8bit 420p each time.

-------------------------------

hevc_qsv 10 bit worked with p010 and with y210

localhost:/Cin/ffmpeg/video # cat hevc_qsv.mp4
# only usable with ext. ffmpeg, another pixfmt is yuyv422
mp4 hevc_qsv
# profile=main
# cin_pix_fmt=nv12


ffprobe -hide_banner cfhd01_hevc_qsv_pix_p010le.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'cfhd01_hevc_qsv_pix_p010le.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf61.1.100
   Duration: 00:01:11.20, start: 0.000000, bitrate: 28276 kb/s
   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)
       Metadata:
         handler_name    : VideoHandler
         vendor_id       : [0][0][0][0]


ffprobe -hide_banner cfhd01_hevc_qsv_pix_y210le.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'cfhd01_hevc_qsv_pix_y210le.mp4':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2mp41
     encoder         : Lavf61.1.100
   Duration: 00:01:11.20, start: 0.000000, bitrate: 32074 kb/s
   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)
       Metadata:
         handler_name    : VideoHandler
         vendor_id       : [0][0][0][0]

>
>>
>>     you also can set bin/ffmpeg/encode.opts loglevel to debug, but
>>     render exactly one frame so log will be smaller.
>
>     How to render render exactly one frame ?
>
>
> In render  dialog window there is selection of render range with 4 
> choices ... 1 frame mp4/webm should be perfectly legal :)
>
>
>>
>>
>>
>>
>>
>>
>>>
>>>
>>>
>>>             "git log" where?
>>>
>>>
>>>
>>>         in cinelerra-5.1 directory, or some down the hierarchy ...
>>>
>>>         this is command, part of git suite of commands.
>>>
>>>         displays log of commits in git repo. (for me it uses l"less"
>>>         as pager, so you can scroll around and search)
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241107/5d87988f/attachment-0001.htm>


More information about the Cin mailing list