Den 11.11.2024 19:01, skrev Andrew Randrianasulu:


On Mon, Nov 11, 2024 at 8:43 PM Terje J. Hanssen <[email protected]> wrote:




    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 ?



onevpl/vaapi/vdpau - they all linked  dynamically (not sure if static version of them even possible)

Ah, I see.

I tried to compare the two configure lines for my full dynamic Cingg/ffmpeg7.1 built and static-dynamic Cingg/ffmpeg7.0 respectively:

./configure --with-single-user --disable-static-build --without-thirdparty --without-libdpx
./configure --with-single-user --with-onevpl

As the first line didn't mention "vpl" I searched backwards and got the understanding that the source code was patched to use the system libvpl. In the second case the build-system itself was patched with onevpl (default off) to use the same system libvpl, I assume?

Is/will possibly the current or upcoming Cingg appimage/rpm available with the onevpl patch, so it can be switched on and tested on other available hardware?




.

















            (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