我正在編寫一個gstreamer(1.x)插件,它將自動加載應用於視頻幀。它將轉換GRAY16_LE - > GRAY8。無法在自定義gstreamer插件中的transform_caps
我開始通過運行gst-plugins-bad-1.3.2/tools中的gst-element-maker工具並使用視頻過濾器模板。
如果我把我的src和沉墊帽爲「{GRAY8,GRAY16_LE}」我可以得到下面的管道運行:
gst-launch-1.0 videotestsrc ! video/x-raw,format=GRAY16_LE ! videoautogain ! videoconvert ! autovideosink
然而,它使用相同的瓶蓋上的src和水槽(在這種情況下是GRAY16_LE)。如果將水槽上限更改爲「{GRAY16_LE}」,將src上限更改爲「{GRAY8}」,則連接管道時會出現錯誤。我想我可能需要實現GstBaseTransform-> transform_caps函數,但我不確定,我不知道如何實現它來強制在兩個焊盤上使用靜態但不同的上限。有人能指出我正確的方向嗎?