You've already forked libopenshot
mirror of
https://github.com/OpenShot/libopenshot.git
synced 2026-03-02 08:53:52 -08:00
Removing old way to select hardware support
Removing the decode setting makes hardware supported decode break. There must be some hidden dependency on that variable somewhere which might also be responsible for the problems with nVidia on Linux. TODO Remove the dependency
This commit is contained in:
@@ -77,13 +77,17 @@ namespace openshot {
|
||||
|
||||
public:
|
||||
/// Use video card for faster video decoding (if supported)
|
||||
// REMOVE_HW_OLD
|
||||
// Removing this breaks decode completely
|
||||
// Find bug in libopenshot
|
||||
bool HARDWARE_DECODE = false;
|
||||
|
||||
/// Use video codec for faster video decoding (if supported)
|
||||
int HARDWARE_DECODER = 0;
|
||||
|
||||
/// Use video card for faster video encoding (if supported)
|
||||
bool HARDWARE_ENCODE = false;
|
||||
// REMOVE_HW_OLD
|
||||
//bool HARDWARE_ENCODE = false;
|
||||
|
||||
/// Scale mode used in FFmpeg decoding and encoding (used as an optimization for faster previews)
|
||||
bool HIGH_QUALITY_SCALING = false;
|
||||
|
||||
@@ -40,9 +40,13 @@ Settings *Settings::Instance()
|
||||
if (!m_pInstance) {
|
||||
// Create the actual instance of logger only once
|
||||
m_pInstance = new Settings;
|
||||
// REMOVE_HW_OLD
|
||||
// Removing this breaks decode completely
|
||||
// Find bug in libopenshot
|
||||
m_pInstance->HARDWARE_DECODE = false;
|
||||
m_pInstance->HARDWARE_DECODER = 0;
|
||||
m_pInstance->HARDWARE_ENCODE = false;
|
||||
// REMOVE_HW_OLD
|
||||
//m_pInstance->HARDWARE_ENCODE = false;
|
||||
m_pInstance->HIGH_QUALITY_SCALING = false;
|
||||
m_pInstance->MAX_WIDTH = 0;
|
||||
m_pInstance->MAX_HEIGHT = 0;
|
||||
|
||||
@@ -36,8 +36,9 @@ TEST(Settings_Default_Constructor)
|
||||
// Create an empty color
|
||||
Settings *s = Settings::Instance();
|
||||
|
||||
CHECK_EQUAL(false, s->HARDWARE_DECODE);
|
||||
CHECK_EQUAL(false, s->HARDWARE_ENCODE);
|
||||
CHECK_EQUAL(1, s->HARDWARE_DECODER);
|
||||
// REMOVE_HW_OLD
|
||||
//CHECK_EQUAL(false, s->HARDWARE_ENCODE);
|
||||
CHECK_EQUAL(false, s->HIGH_QUALITY_SCALING);
|
||||
CHECK_EQUAL(false, s->WAIT_FOR_VIDEO_PROCESSING_TASK);
|
||||
}
|
||||
@@ -46,18 +47,21 @@ TEST(Settings_Change_Settings)
|
||||
{
|
||||
// Create an empty color
|
||||
Settings *s = Settings::Instance();
|
||||
s->HARDWARE_DECODE = true;
|
||||
s->HARDWARE_ENCODE = true;
|
||||
s->HARDWARE_DECODER = 1;
|
||||
// REMOVE_HW_OLD
|
||||
//s->HARDWARE_ENCODE = true;
|
||||
s->HIGH_QUALITY_SCALING = true;
|
||||
s->WAIT_FOR_VIDEO_PROCESSING_TASK = true;
|
||||
|
||||
CHECK_EQUAL(true, s->HARDWARE_DECODE);
|
||||
CHECK_EQUAL(true, s->HARDWARE_ENCODE);
|
||||
CHECK_EQUAL(1, s->HARDWARE_DECODER);
|
||||
// REMOVE_HW_OLD
|
||||
//CHECK_EQUAL(true, s->HARDWARE_ENCODE);
|
||||
CHECK_EQUAL(true, s->HIGH_QUALITY_SCALING);
|
||||
CHECK_EQUAL(true, s->WAIT_FOR_VIDEO_PROCESSING_TASK);
|
||||
|
||||
CHECK_EQUAL(true, s->HARDWARE_DECODE);
|
||||
CHECK_EQUAL(true, s->HARDWARE_ENCODE);
|
||||
CHECK_EQUAL(1, s->HARDWARE_DECODER);
|
||||
// REMOVE_HW_OLD
|
||||
//CHECK_EQUAL(true, s->HARDWARE_ENCODE);
|
||||
CHECK_EQUAL(true, Settings::Instance()->HIGH_QUALITY_SCALING);
|
||||
CHECK_EQUAL(true, Settings::Instance()->WAIT_FOR_VIDEO_PROCESSING_TASK);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user