On 15.09.2024 14:45, Andrew Randrianasulu wrote:


вс, 15 сент. 2024 г., 15:30 Terje J. Hanssen <[email protected]>:


    Den 15.09.2024 04:23, skrev Andrew Randrianasulu:


    сб, 14 сент. 2024 г., 22:42 Terje J. Hanssen via Cin
    <[email protected]>:

        Two simple tests I got working Cinelerra Infinity - built:
        Sep  8 2024 10:37:25 (rpm installation)
        on Leap 15.6 on i7-12700KF + Arc A750 gpu

        As seen below, quite fast rendering:

          * 207 fps for hdv.m2t  (yuv420p) input -> yuvj420p
          * 125 fps for proreshq.mov (yuv422p10le) -> yuvj420p
            (10-bit  to 8-bit color depth)


        1)
        hdv.m2t

        Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] /
        0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3
        DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn
              Side data:
                cpb: bitrate max/min/avg: 25000000/0/0 buffer size:
        7340032 vbv_delay: N/A
          Stream #0:1[0x814]: Audio: mp2 (mp3float) ([3][0][0][0] /
        0x0003), 48000 Hz, stereo, fltp, 384 kb/s

        -> hevc_vaapi.mp4

        ** rendered 5972 frames in 28.721 secs, 207.931 fps
        audio0 pad 64 0 (64)

        tream #0:0[0x1](und): Video: hevc (Main) (hev1 / 0x31766568),
        yuvj420p(pc, bt709/unknown/unknown, top coded first
        (swapped)), 1440x1080 [SAR 4:3 DAR 16:9], 11716 kb/s, 25 fps,
        25 tbr, 12800 tbn (default)
              Metadata:
                handler_name    : VideoHandler
                vendor_id       : [0][0][0][0]
          Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D),
        48000 Hz, stereo, fltp, 129 kb/s (default)


        2)
        hd.mov
        Stream #0:0[0x1](eng): Video: prores (HQ) (apch /
        0x68637061), yuv422p10le(bt709, top coded first (swapped)),
        1920x1080, 182130 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr,
        2500 tbn (default)
              Metadata:
                creation_time   : 2016-02-23T23:49:21.000000Z
                handler_name    : Apple Video Media Handler
                vendor_id       : appl
                encoder         : Apple ProRes 422 (HQ)
          Stream #0:1[0x2](eng): Audio: pcm_s24le (lpcm /
        0x6D63706C), 48000 Hz, 16 channels, s32 (24 bit), 18432 kb/s
        (default)

        -> hevc_vaapi.mp4

        ** rendered 1781 frames in 14.188 secs, 125.529 fps
        audio0 pad 128 0 (128)

        Stream #0:0[0x1](und): Video: hevc (Main) (hev1 /
        0x31766568), yuvj420p(pc, bt709/unknown/unknown, top coded
        first (swapped)), 1920x1080 [SAR 1:1 DAR 16:9], 11427 kb/s,
        25 fps, 25 tbr, 12800 tbn (default)
              Metadata:
                handler_name    : VideoHandler
                vendor_id       : [0][0][0][0]
          Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D),
        48000 Hz, 16 channels, fltp, 378 kb/s (default)



    I think due to some strangeness with full (pc, jpeg) data levels
    currently under investigation  you better to retry with color
    range set to MPEG?


    Yeah, thanks. I changed Settings>Prefs>Appearance Color Range to
    MPEG, and the ffprobe output color range looks more in accordance
    with the input: yuv420p(tv, bt709 ....)

    2)
    ffprobe -hide_banner hd01_hevc_vaapi.mp4
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'hd01_hevc_vaapi.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2mp41
        encoder         : Lavf61.1.100
      Duration: 00:01:11.28, start: 0.000000, bitrate: 11603 kb/s
      Stream #0:0[0x1](und): Video: hevc (Main) (hev1 / 0x31766568),
    yuv420p(tv, bt709/unknown/unknown, top coded first (swapped)),
    1920x1080 [SAR 1:1 DAR 16:9], 11225 kb/s, 25 fps, 25 tbr, 12800
    tbn (default)
          Metadata:
            handler_name    : VideoHandler
            vendor_id       : [0][0][0][0]
      Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D),
    48000 Hz, 16 channels, fltp, 378 kb/s (default)
          Metadata:
            handler_name    : SoundHandler
            vendor_id       : [0][0][0][0]


    But still  yuv422p10le input is changed automatic to yuv420p output.
    Actually in Cingg there is only one single preset "hevc_vaapi.mp4"
    available to select.


yeah, if my understanding of our code is correct vaapi encoding (and may be decoding, too?) limited to yuv420p. I'll look at OBS source to see if this can be easily fixed, but again, I have in HW to test .....

I can test on my HW, if Andrey can make the rpm package ...


To sum up my current hevc_vaapi with MPEG color range encoding
on cingg built: Sep  8 2024 10:37:25 so far:

* on i7-12700KF + Arc A750 gpu (DG2):

1) HDV.m2t -> hevc_vaapi.mp4
** rendered 5972 frames in 24.442 secs, 244.334 fps

2) HD.mov -> hevc_vaapi.mp4
** rendered 1781 frames in 18.760 secs, 94.936 fps


vainfo | grep 10
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
      VAProfileHEVCMain10             :    VAEntrypointVLD
      VAProfileHEVCMain10             :    VAEntrypointEncSliceLP
      VAProfileHEVCMain422_10         :    VAEntrypointVLD
      VAProfileHEVCMain422_10         :    VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         :    VAEntrypointVLD
      VAProfileHEVCMain444_10         :    VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          :    VAEntrypointVLD
      VAProfileHEVCSccMain10          :    VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444_10      :    VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :    VAEntrypointEncSliceLP

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

or 3.3x - 2.1x faster than a comparable Vaapi test

* on KabyLake i7-8550U/UHD 620 iGPU

1) HDV.m2t -> hevc_vaapi.mp4
** rendered 5971 frames in 80.860 secs, 73.844 fps

2) HD.mov -> hevc_vaapi.mp4
** rendered 1781 frames in 39.723 secs, 44.835 fps


vainfo | grep 10
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
      VAProfileHEVCMain10             :    VAEntrypointVLD
      VAProfileHEVCMain10             :    VAEntrypointEncSlice



For now for hevc10 hw encode I can only suggest to create fifo file with mkfifo and point ffmpeg/y4m renderer to it (select supported pixformat from dropbox there). From second terminal run system's ffmpeg set up for hevc10 encode (via any method available).

You can start with 1 sec long test sequences in y4m as normal files just for initial finding of right ffmpeg command line.

You also in theory can setup something like v408 mov (qt) with pcm audio and faststart flag, and use this as on the fly lossless transport between cingg and ffmpeg, but I personally not tested that.





    By showing information from the VA-API driver:

      * VLD means the card is capable to decode this format
      * Enc means it can encode this format.

    vainfo
    Trying display: wayland
    Trying display: x11
    libva info: VA-API version 1.20.0
    libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
    libva info: Found init function __vaDriverInit_1_20
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.20 (libva 2.20.1)
    vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics
    - 24.1.3 ()
    vainfo: Supported profile and entrypoints
          VAProfileNone                   : VAEntrypointVideoProc
          VAProfileNone                   : VAEntrypointStats
          VAProfileMPEG2Simple            : VAEntrypointVLD
          VAProfileMPEG2Main              : VAEntrypointVLD
          VAProfileH264Main               : VAEntrypointVLD
          VAProfileH264Main               : VAEntrypointEncSliceLP
          VAProfileH264High               : VAEntrypointVLD
          VAProfileH264High               : VAEntrypointEncSliceLP
          VAProfileJPEGBaseline           : VAEntrypointVLD
          VAProfileJPEGBaseline           : VAEntrypointEncPicture
          VAProfileH264ConstrainedBaseline: VAEntrypointVLD
          VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
          VAProfileHEVCMain               : VAEntrypointVLD
          VAProfileHEVCMain               : VAEntrypointEncSliceLP
          VAProfileHEVCMain10             : VAEntrypointVLD
          VAProfileHEVCMain10             : VAEntrypointEncSliceLP
          VAProfileVP9Profile0            : VAEntrypointVLD
          VAProfileVP9Profile0            : VAEntrypointEncSliceLP
          VAProfileVP9Profile1            : VAEntrypointVLD
          VAProfileVP9Profile1            : VAEntrypointEncSliceLP
          VAProfileVP9Profile2            : VAEntrypointVLD
          VAProfileVP9Profile2            : VAEntrypointEncSliceLP
          VAProfileVP9Profile3            : VAEntrypointVLD
          VAProfileVP9Profile3            : VAEntrypointEncSliceLP
          VAProfileHEVCMain12             : VAEntrypointVLD
          VAProfileHEVCMain422_10         : VAEntrypointVLD
          VAProfileHEVCMain422_10         : VAEntrypointEncSliceLP
          VAProfileHEVCMain422_12         : VAEntrypointVLD
          VAProfileHEVCMain444            : VAEntrypointVLD
          VAProfileHEVCMain444            : VAEntrypointEncSliceLP
          VAProfileHEVCMain444_10         : VAEntrypointVLD
          VAProfileHEVCMain444_10         : VAEntrypointEncSliceLP
          VAProfileHEVCMain444_12         : VAEntrypointVLD
          VAProfileHEVCSccMain            : VAEntrypointVLD
          VAProfileHEVCSccMain            : VAEntrypointEncSliceLP
          VAProfileHEVCSccMain10          : VAEntrypointVLD
          VAProfileHEVCSccMain10          : VAEntrypointEncSliceLP
          VAProfileHEVCSccMain444         : VAEntrypointVLD
          VAProfileHEVCSccMain444         : VAEntrypointEncSliceLP
          VAProfileAV1Profile0            : VAEntrypointVLD
          VAProfileAV1Profile0            : VAEntrypointEncSliceLP
          VAProfileHEVCSccMain444_10      : VAEntrypointVLD
          VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

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

    I also did a short attempt with the Cingg Appimage, but as I think
    has been said before: HWA want work there.

    Cinelerra Infinity - built: Aug 25 2024 13:42:19

    [AVHWDeviceContext @ 0x7f3a982eebc0] libva:
    /usr/lib64/dri/iHD_drv_video.so has no function __vaDriverInit_1_0
    [AVHWDeviceContext @ 0x7f3a982eebc0] libva:
    /usr/lib64/dri/i965_drv_video.so has no function __vaDriverInit_1_0
    [AVHWDeviceContext @ 0x7f3a982eebc0] Failed to initialise VAAPI
    connection: -1 (unknown libva error).
    Failed to create a HW device.
     err: Inn/ut-feil
    [hevc_vaapi @ 0x7f3a9859df00] A hardware frames reference is
    required to associate the encoding device.
    FFMPEG::open_encoder err: Ugyldig argument
    int FFMPEG::open_encoder(const char*, const char*):
    Åpne mislyktes
    hevc_vaapi:/home/terje/Applications/hdv09_04_hevc_vaapi+aac.mp4
    Render::render_single: Session finished.





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


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

Reply via email to