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:
eisneinechse
2019-04-21 10:04:24 -07:00
parent 5185757886
commit 825e38ac9d
3 changed files with 23 additions and 11 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);
}
}