Den 09.11.2024 17:16, skrev Andrew Randrianasulu:


сб, 9 нояб. 2024 г., 19:10 Terje J. Hanssen <[email protected]>:




    Den 09.11.2024 10:48, skrev Terje J. Hanssen:



    Den 09.11.2024 00:10, skrev Andrew Randrianasulu:


    сб, 9 нояб. 2024 г., 01:58 Terje J. Hanssen
    <[email protected]>:




        Den 07.11.2024 22:53, skrev Terje J. Hanssen:



        Den 07.11.2024 20:41, skrev Andrew Randrianasulu:




            sorry I mean set like this
            export CIN_10BIT_ENC=1



            Now hevc_vaapi was able to render to yuv420p10le, that
            is 10-bit 420p, by selecting pixels p010le.
            Also rendering with pixels y210 resulted in
            yuv420p10le, that is not 10-bit 422p as for hevc_qsv
            below.

            I would assume this is caused due to the incomplete
            hevc_vapi.mp4 preset as shown below?


        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.

        can you test other vaapi/qsv profiles too?


        also with test picture actually containing more than 8bit
        values? ;)

        To the latter; the input file cfhd01.mkv was 10bit 422:
        yuv422p10le

        Maybe have a look at and compare with the hevc_qsv code
        that managed 10bit 422: yuv422p10le?



        Summary
        ----------------

        hevc_vaapi.mp4 and av1_vaapi.mp4
        Pixels:     vaapi (default and only option) works and
        results in yuv420p
                        p010 or p010le written works and result in
        yuv420p10le
                        y210 or all variants y210le/Y210/le render
        (with fallback) to yuv420p10le

        h264_vaapi.mp4 didn't render (error message)


    yeah, no 10bit h264 here (while possible by spec)



        av1_qsv.mp4 is for external ffmpeg


    if you still have my onevpl patch applied (and enabled it
    earlier with configure switch) too - qsv should work ...

    try it too just in case?

    av1_qsv.mp4
    Would not render at all

        [av1_qsv @ 0x7fe19826f240] Current picture structure is
        unsupported
        [av1_qsv @ 0x7fe19826f240] 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/Cineform/cfhd01_av1_qsv_pix_nv12.mp4
        Render::render_single: Session finished.


    hevc_qsv.mp4
    Does render, but only to yuv420p now.
    For one or another reason pixel formats p010le and y210le results
    in yuv420p.
    That is I am not able to reconstruct the previous 10bit results
    below.
    I do another attempt next day.


    hevc_qsv.mp4  revised:
    pixel formats p010le and y210le render again to yuv420p10le and
    .yuv422p10le respectively
    Woops; only when these window lines are commented out as written
    in my previous post !

        # profile=main
        # cin_pix_fmt=nv12

    Works both with and without
    export CIN_10BIT_ENC=1
    before cin/bin



we most likely will need new profiles for 10bit everything anyway ...

thanks for continued (and very exhaustive!) testing

Also the preset's combination of pixel formats and the right (ffmpeg) codec profiles would need an overhaul.

As mentioned already above:

hevc_qsv.mp4  revised:
pixel formats p010le and y210le render again to yuv420p10le and .yuv422p10le respectively Woops; only when these window lines are commented out as written in my previous post !

   # profile=main
   # cin_pix_fmt=nv12


I experimented additional and got

y210/profile=1  ==> yuv422p10le

y210/ profile=main10/ profile=2/ profile=3 ==> yuv420p10le

I got similar results with my own dynamic Cingg built with ffmpeg 7.1.

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

So a question beside:

Yesterday I did a new (monthly) upgrade of Tumbleweed-Slowroll, which replaced Packman package libs and ffmpeg 7.1

After that, the static Cingg with onevpl and 10bit patch would not render hevc_qsv.

Today's upgrade with new Packman packages up-to-date with the new Slowroll version, and now Cingg worked as before:

 ffmpeg-7 ffmpeg-7-libavcodec-devel ffmpeg-7-libavdevice-devel ffmpeg-7-libavfilter-devel   ffmpeg-7-libavformat-devel ffmpeg-7-libavutil-devel ffmpeg-7-libpostproc-devel ffmpeg-7-libswresample-devel   ffmpeg-7-libswscale-devel libavcodec61 libavdevice61 libavfilter10 libavformat61 libavutil59 libpostproc58
  libswresample5 libswscale8

So even Cingg with onevpl is static built, it looks like it is dependent of one or more system packages/libs beside?
Any idea what packages it can be ?













        (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)


            ffprobe -hide_banner cfhd01_hevc_vaapi_pix_p010le.mp4
            Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
            'cfhd01_hevc_vaapi_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:
            11082 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], 11080 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
                  Metadata:
                    handler_name    : VideoHandler
                    vendor_id       : [0][0][0][0]

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


                -----

                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)
























-- 
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to