Den 26.09.2024 01:18, skrev Andrew Randrianasulu:


On Thu, Sep 26, 2024 at 2:06 AM Terje J. Hanssen <[email protected]> wrote:



    Den 25.09.2024 23:22, skrev Andrew Randrianasulu:


    чт, 26 сент. 2024 г., 00:16 Terje J. Hanssen
    <[email protected]>:



        Den 25.09.2024 21:33, skrev Andrew Randrianasulu:


        ср, 25 сент. 2024 г., 18:25 Terje J. Hanssen
        <[email protected]>:



            Den 25.09.2024 00:27, skrev Andrew Randrianasulu:
            try this git patch, do not forgot to make install
            again, or put profiles in bin/ffmpeg/video folder manually.

            # cd /home/cinelerra/cinelerra-5.1
            # mv /home/terje/0001-Qsv-encoders-for-testing.patch .

            # git am 0001-Qsv-encoders-for-testing.patch
            Applying: Qsv encoders for testing


            make install > make_install.log 2&1



        make install > make_install.log 2>&1 ?

        Sorry. I should cleanup all ">" with Find & Replace in my
        note, and oversaw here should be two of them in this  command ;(

        Now make install went through without faults as I could see,
        but attach it by email again.

        But unhappily, no success with testing Cingg Qsv Rendering.
        All attempts so far breaks with the output below:

            FFMPEG::open_encoder  err: Internal bug, should not have
            happened
            int FFMPEG::open_encoder(const char*, const char*):

        ----------
        localhost:/home/cinelerra/cinelerra-5.1 # bin/cin
        Cinelerra Infinity - built: Sep 23 2024 10:31:07
        ----------
        1)
        Loaded hdv09_04.m2t
        Render:
        Output to file: /Videoklipp/QSV/hdv09_04_h264_qsv.mp4
        File format: FFMPEG-mp4
        Compression: h264_qsv.mp4
        Pixels: qsv

        libva info: VA-API version 1.22.0
        libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
        libva info: Found init function __vaDriverInit_1_21
        libva info: va_openDriver() returns 0
        libva info: VA-API version 1.22.0
        libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
        libva info: Found init function __vaDriverInit_1_21
        libva info: va_openDriver() returns 0

        FFMPEG::open_encoder  err: Internal bug, should not have happened
        int FFMPEG::open_encoder(const char*, const char*):
        open failed h264_qsv:/Videoklipp/QSV/hdv09_04_h264_qsv.mp4
        Render::render_single: Session finished.
        --------------
        2a)
        Loaded hdv09_04.m2t
        Render:
        Output to file: /Videoklipp/QSV/hdv09_04_h265_qsv.mp4
        File format: FFMPEG-mp4

        Compression: h265_qsv.mp4
        Pixels: qsv

        [hevc_qsv encoder @ 0x7f44e0d0bd80] [Eval @ 0x7f44e57eb6f0]
        Undefined constant or missing '(' in 'high'
        [hevc_qsv encoder @ 0x7f44e0d0bd80] Unable to parse option
        value "high"
        [hevc_qsv encoder @ 0x7f44e0d0bd80] Error setting option
        profile to value high.
        FFMPEG::open_encoder  err: Invalid argument
        int FFMPEG::open_encoder(const char*, const char*):
        open failed hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4
        Render::render_single: Session finished.


    # profile=high
    Pixels: qsv (yuv420 isn't available)

    Didn't render:
    FFMPEG::open_encoder  err: Internal bug, should not have happened
    int FFMPEG::open_encoder(const char*, const char*):
    open failed hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4
    Render::render_single: Session finished.



        ----------------
        2b)
        Compression: h265_qsv.mp4
        Pixels: p010le

        [hevc_qsv encoder @ 0x7f93dcdb3c00] [Eval @ 0x7f93cbff06f0]
        Undefined constant or missing '(' in 'high'
        [hevc_qsv encoder @ 0x7f93dcdb3c00] Unable to parse option
        value "high"
        [hevc_qsv encoder @ 0x7f93dcdb3c00] Error setting option
        profile to value high.
        FFMPEG::open_encoder  err: Invalid argument
        int FFMPEG::open_encoder(const char*, const char*):
        open failed hevc_qsv:/Videoklipp/QSV/hdv09_04_h265_qsv.mp4
        Render::render_single: Session finished.


    Some progress:

    # profile=high
    Pixels: yuvy422 (yuv420 isn't available)
    Settings>Appearance: BT.709/MPEG2

    Rendered:
    Render::render_single: Session finished.
    ** rendered 5972 frames in 33.999 secs, 175.652 fps
    audio0 pad 64 0 (64)

    VLC playback OK

    ffprobe -hide_banner hdv09_04_h265_qsv.mp4
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'hdv09_04_h265_qsv.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2mp41
        encoder         : Lavf61.1.100
      Duration: 00:03:58.88, start: 0.000000, bitrate: 3359 kb/s
      Stream #0:0[0x1](und): Video: hevc (Rext) (hev1 / 0x31766568),
    yuv422p(tv, bt709/unknown/unknown, top coded first (swapped)),
    1440x1080 [SAR 4:3 DAR 16:9], 3223 kb/s, 25 fps, 25 tbr, 12800 tbn
    (default)
          Metadata:
            handler_name    : VideoHandler
            vendor_id       : [0][0][0][0]
      Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D),
    48000 Hz, stereo, fltp, 129 kb/s (default)
          Metadata:
            handler_name    : SoundHandler
            vendor_id       : [0][0][0][0]



ah, so it need tv range .. try also with Pixels nv12 (worked for me on mediacodec)

Not really.,
Also the default at first startup, appearance BT.601-PAL/MJPEG, worked, and then ffprobe output Stream #0:0[0x1](und): Video: hevc (Rext) (hev1 / 0x31766568), yuv422p(pc, bt470bg/unknown/unknown, top coded first (swapped)), 1440x1080 [SAR 4:3 DAR 16:9], 3248 kb/s, 25 fps, 25 tbr, 12800 tbn (default)

I just changed it to BT.701/MPEG which is for HD video, and I also remembed you also suggested this in a previous thread.

Both yuv422 and nv12 work.

But why isn't also the usual yuv420p available for h264 and h265?

Possibly also rename h265 to hevc as ffmpeg use?




        ----------------
        3a)
        Loaded hdv09_04.m2t
        Render:
        Output to file: /Videoklipp/QSV/hdv09_04_av1_qsv.mp4
        File format: FFMPEG-mp4

        Compression: av1_qsv.mp4
        Pixels: qsv

        FFMPEG::open_encoder  err: Internal bug, should not have happened
        int FFMPEG::open_encoder(const char*, const char*):
        open failed av1_qsv:/Videoklipp/QSV/hdv09_04_av1_qsv.mp4
        Render::render_single: Session finished.
        --------------
        3b)
        Compression: av1_qsv.mp4
        Pixels: p010le

        [av1_qsv @ 0x7f1c302e7080] Current picture structure is
        unsupported
        [av1_qsv @ 0x7f1c302e7080] 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/QSV/hdv09_04_av1_qsv.mp4
        Render::render_single: Session finished.
        -----------------
        4a)
        Loaded hd01.mov
        Render:
        Output to file: /Videoklipp/QSV/hdv09_04_h265_qsv.mp4
        File format: FFMPEG-mp4

        Compression: h265_qsv.mp4
        Pixels: qsv

        [hevc_qsv encoder @ 0x7f4b8d6f9ac0] [Eval @ 0x7f4b62ff66f0]
        Undefined constant or missing '(' in 'high'
        [hevc_qsv encoder @ 0x7f4b8d6f9ac0] Unable to parse option
        value "high"
        [hevc_qsv encoder @ 0x7f4b8d6f9ac0] Error setting option
        profile to value high.
        FFMPEG::open_encoder  err: Invalid argument
        int FFMPEG::open_encoder(const char*, const char*):
        open failed hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4
        Render::render_single: Session finished.


    I think you can try to comment out (with #) line with
    profile=high. in h265_qsv.mp4

    # profile=high
    Pixels: qsv (yuv420 isn't available)

    Didn't render:
    FFMPEG::open_encoder  err: Internal bug, should not have happened
    int FFMPEG::open_encoder(const char*, const char*):
    open failed hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4
    Render::render_single: Session finished.



    You also probably can stick to yuv420p (if available) because qsv
    implies image already in hw-specifuc format and ffmpeg does not
    do this conversion for us


        --------------------
        4b)
        Compression: h265_qsv.mp4
        Pixels: yuyv422

        [hevc_qsv encoder @ 0x7f4ba4070f00] [Eval @ 0x7f4b5bff86f0]
        Undefined constant or missing '(' in 'high'
        [hevc_qsv encoder @ 0x7f4ba4070f00] Unable to parse option
        value "high"
        [hevc_qsv encoder @ 0x7f4ba4070f00] Error setting option
        profile to value high.
        FFMPEG::open_encoder  err: Invalid argument
        int FFMPEG::open_encoder(const char*, const char*):
        open failed hevc_qsv:/Videoklipp/MOV/hd01_qsv.mp4
        Render::render_single: Session finished.


    Some progress:

    # profile=high
    Pixels: yuyv422 (yuv420 isn't available)
    Settings>Appearance: BT.709/MPEG2

    Rendered:
    FFStream::encode_frame: encode failed.
    file: /Videoklipp/MOV/hd01_qsv.mp4
      err: Resource temporarily unavailable
    FFStream::flush failed
    :file:/Videoklipp/MOV/hd01_qsv.mp4
      err: Operation not permitted
    Render::render_single: Session finished.
    ** rendered 1781 frames in 14.617 secs, 121.844 fps
    audio0 pad 128 0 (128)

    VLC playback OK

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









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

Reply via email to