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.







    (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