Den 11.11.2024 22:20, skrev Andrew Randrianasulu:


пн, 11 нояб. 2024 г., 23:43 Terje J. Hanssen <[email protected]>:

{snip}



            .


            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.


not exactly, in first case it just uses libav* from system ffmpeg package... and this in your case uses 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?



I was about to ask if onevpl patch can be added to git ...

Dear Phyllis, can you add onevpl.patch so future QSV testing will be easier (it defaults to off so should not break anything ... by default).

while there, Terje, can you pack your latest profile work and send it separately? I think we use codec_encoder_additional_params.container as format

so 10bit 420 hevc  qsv for mp4 will look like

hevc_qsv_10bit.mp4

with  content you experimentally determinated.

and y210 probably will be named

hevc_qsv_y210.mp4


What about

hevc_qsv_10bit-420.mp4

and

hevc_qsv_10bit-422.mp4

respectively?








    .

















                (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