msdkvp9enc can't work in Intel TGL
Intel TGL(windows 10 i7-1165G7) has support VP9 enc, and when use the gst inspect, there has vp9enc.
gst-inspect-1.0.exe msdk
Version 1.19.1.1
License LGPL
Source module gst-plugins-bad
Binary package GStreamer Bad Plug-ins git
Origin URL Unknown package origin
msdkav1dec: Intel MSDK AV1 decoder msdkh264dec: Intel MSDK H264 decoder msdkh264enc: Intel MSDK H264 encoder msdkh265dec: Intel MSDK H265 decoder msdkh265enc: Intel MSDK H265 encoder msdkmjpegdec: Intel MSDK MJPEG decoder msdkmjpegenc: Intel MSDK MJPEG encoder msdkmpeg2dec: Intel MSDK MPEG2 decoder msdkmpeg2enc: Intel MSDK MPEG2 encoder msdkvc1dec: Intel MSDK VC1 decoder msdkvp8dec: Intel MSDK VP8 decoder msdkvp9dec: Intel MSDK VP9 decoder msdkvp9enc: Intel MSDK VP9 encoder msdkvpp: MSDK Video Postprocessor
when start pipe line, there has some error:
gst-launch-1.0 rtspsrc location=rtsp://192.168.100.146:8554/live/token10 latency=0 protocols=0x00000004 buffer-mode=auto ! rtph265depay ! h265parse ! msdkh265dec ! msdkvp9enc ! fakesink Use Windows high-resolution clock, precision: 1 ms Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Got context from element 'msdkvp9enc0': gst.msdk.Context=context, gst.msdk.Context=(GstMsdkContext)"\(GstMsdkContext\)\ msdkcontext1"; Progress: (open) Opening Stream Pipeline is PREROLLED ... Prerolled, waiting for progress to finish... Progress: (connect) Connecting to rtsp://192.168.100.146:8554/live/token10 Progress: (open) Retrieving server options Progress: (open) Retrieving media info Progress: (request) SETUP stream 0 Progress: (open) Opened Stream Setting pipeline to PLAYING ... New clock: GstSystemClock Progress: (request) Sending PLAY request Progress: (request) Sending PLAY request Progress: (request) Sent PLAY request Redistribute latency... Redistribute latency... Redistribute latency... ERROR: from element /GstPipeline:pipeline0/GstMsdkVP9Enc:msdkvp9enc0: Encode frame failed. Additional debug info: ../subprojects/gst-plugins-bad/sys/msdk/gstmsdkenc.c(1156): gst_msdkenc_encode_frame (): /GstPipeline:pipeline0/GstMsdkVP9Enc:msdkvp9enc0: MSDK encode error (null pointer) Execution ended after 0:00:02.135552000 0:00:02.568264000 10344 00000218E6481480 ERROR msdkdec gstmsdkdec.c:763:gst_msdkdec_finish_task:<msdkh265dec0> Failed to finish frame Setting pipeline to NULL ... 0:00:02.570825000 10344 00000218E6481480 ERROR msdkdec gstmsdkdec.c:1218:gst_msdkdec_handle_frame:<msdkh265dec0> Failed to finish a task ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not write to resource. Additional debug info: ../subprojects/gst-plugins-good/gst/rtsp/gstrtspsrc.c(6590): gst_rtspsrc_try_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not send message. (Received end-of-file) ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not write to resource. Additional debug info: ../subprojects/gst-plugins-good/gst/rtsp/gstrtspsrc.c(9017): gst_rtspsrc_pause (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not send message. (Received end-of-file) Freeing pipeline ... 0:00:02.609799000 10344 00000218E1900630 ERROR msdkdec gstmsdkdec.c:920:release_msdk_surfaces:<msdkh265dec0> msdk still locked 1 surfaces
when use the h264 encode, it works:
gst-launch-1.0 rtspsrc location=rtsp://192.168.100.146:8554/live/token10 latency=0 protocols=0x00000004 buffer-mode=auto ! rtph265depay ! h265parse ! msdkh265dec ! msdkh264enc ! fakesink Use Windows high-resolution clock, precision: 1 ms Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Got context from element 'msdkh264enc0': gst.msdk.Context=context, gst.msdk.Context=(GstMsdkContext)"\(GstMsdkContext\)\ msdkcontext1"; Progress: (open) Opening Stream Pipeline is PREROLLED ... Prerolled, waiting for progress to finish... Progress: (connect) Connecting to rtsp://192.168.100.146:8554/live/token10 Progress: (open) Retrieving server options Progress: (open) Retrieving media info Progress: (request) SETUP stream 0 Progress: (open) Opened Stream Setting pipeline to PLAYING ... New clock: GstSystemClock Progress: (request) Sending PLAY request Progress: (request) Sending PLAY request Progress: (request) Sent PLAY request Redistribute latency... Redistribute latency... Redistribute latency... Redistribute latency... handling interrupt.9. Interrupt: Stopping pipeline ... Execution ended after 0:00:03.454871000 Setting pipeline to NULL ... Freeing pipeline ...