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 ...