我很難將我的圖像從AV_PIX_FMT_BGRA
轉換爲PIX_FMT_PAL8
。不幸的是sws_getCachedContext
不支持轉換爲PIX_FMT_PAL8
。如何轉換AV_PIX_FMT_BGRA至PIX_FMT_PAL8?
我想要做的是將我的圖像轉換爲GIF視頻,輸出質量更高。看來PIX_FMT_PAL8
可能會提供更高質量的輸出,我正在尋找。
根據this documentation我需要palettize像素數據,但我不知道如何做到這一點。
當像素格式爲調色RGB(
PIX_FMT_PAL8
)時,調色 圖像數據被存儲在AVFrame.data[0]
。調色板在AVFrame.data[1]
中傳輸,長1024字節(256個4字節條目),並且其格式與上述PIX_FMT_RGB32
中的相同(即,它也是 也是端序特定的)。還請注意,存儲在AVFrame.data[1]
中的各個RGB調色板 組件的範圍應在0到255之間。 這很重要,因爲許多設計爲 的定製PAL8視頻編解碼器在IBM VGA圖形適配器上運行時使用6位調色板組件。
任何幫助或方向將不勝感激。
您是否試圖編寫代碼來執行轉換?或者你是否試圖找到正確的FFmpeg命令來做到這一點? –
我正在嘗試編寫代碼來執行此操作。實際上我的代碼工作正常,除了我正在努力提高GIF輸出質量。我想我對整個托盤交易有了更好的理解,但我不確定ffmpeg是否包含根據給定圖像生成最合適托盤的東西。我覺得這樣我可以得到更好的質量的GIF。我不確定其他方法可以達到更好的GIF質量,或者甚至可能。 – Jona