我正在使用libavcodec對x264捕獲的窗口屏幕進行編碼。因爲輸入是RGB,我將它轉換爲YUV以使其與x264兼容。我正在使用sws_scale函數。 我的問題是如果有這個功能的替代品,因爲我不需要在我的情況下做任何縮放。另外,如果有人能夠揭示這個函數的工作流程,這將是有用的。sws_scale的替代方法
P.S:我假設x264僅在YUV色彩空間中操作。如果這個假設不正確,請通知我。
在此先感謝。
我正在使用libavcodec對x264捕獲的窗口屏幕進行編碼。因爲輸入是RGB,我將它轉換爲YUV以使其與x264兼容。我正在使用sws_scale函數。 我的問題是如果有這個功能的替代品,因爲我不需要在我的情況下做任何縮放。另外,如果有人能夠揭示這個函數的工作流程,這將是有用的。sws_scale的替代方法
P.S:我假設x264僅在YUV色彩空間中操作。如果這個假設不正確,請通知我。
在此先感謝。
我無法找到swscale的替代方案,除了快速雙線性算法(用於縮放)之外,庫中使用的所有其他算法都提供了相當可忽略的顏色偏移。
此外,從RGB轉換到YUV色彩空間沒有任何顏色偏移(由於公式中的近似值),在數學上是不可能的。
P.S:我無法使用RGB版本的libx264/libavcodec。如果您有關於如何實現以及如何在Windows上構建相應版本的詳細信息,請發佈相同的鏈接/信息。
P.S:我假設x264只在YUV色彩空間中操作。如果這個假設不正確,請通知我。
libx264支持I420/YV12/NV12/I422/YV16/NV16/I444/YV24/BGR24/BGR32/RGB24其被編碼爲YUV 4輸入色彩空間:2:0/YUV 4:2:2/YUV 4:4:4/RGB(這應該在參數中指定)。但除了YUV 4:2:0之外的任何內容都需要解碼器的支持,因爲它們不屬於高配置文件,而是新配置文件(高4:2:2和高4:4:4配置文件)的一部分。