upgrade to qpl 1.4.0

This commit is contained in:
jinjunzh 2024-02-04 13:10:24 -05:00
parent 3fcfcd469a
commit ef65864ba3
2 changed files with 3 additions and 8 deletions

2
contrib/qpl vendored

@ -1 +1 @@
Subproject commit a61bdd845fd7ca363b2bcc55454aa520dfcd8298
Subproject commit d4715e0e79896b85612158e135ee1a85f3b3e04d

View File

@ -223,15 +223,12 @@ Int32 HardwareCodecDeflateQpl::doDecompressDataSynchronous(const char * source,
LOG_WARNING(log, "DeflateQpl HW codec failed, falling back to SW codec. (Details: doDecompressDataSynchronous->qpl_submit_job with error code: {} - please refer to qpl_status in ./contrib/qpl/include/qpl/c_api/status.h)", static_cast<UInt32>(status));
return RET_ERROR;
}
/// Busy waiting till job complete.
UInt32 num_checks = 0;
do
{
_tpause(1, __rdtsc() + 1000);
status = qpl_check_job(job_ptr);
++num_checks;
} while (status == QPL_STS_BEING_PROCESSED && num_checks < MAX_CHECKS);
}while (status == QPL_STS_BEING_PROCESSED);
if (status != QPL_STS_OK)
{
@ -280,7 +277,6 @@ void HardwareCodecDeflateQpl::flushAsynchronousDecompressRequests()
{
auto n_jobs_processing = decomp_async_job_map.size();
std::map<UInt32, qpl_job *>::iterator it = decomp_async_job_map.begin();
UInt32 num_checks = 0;
while (n_jobs_processing)
{
@ -290,7 +286,7 @@ void HardwareCodecDeflateQpl::flushAsynchronousDecompressRequests()
job_ptr = it->second;
auto status = qpl_check_job(job_ptr);
if ((status == QPL_STS_BEING_PROCESSED) && (num_checks < MAX_CHECKS))
if (status == QPL_STS_BEING_PROCESSED)
{
it++;
}
@ -316,7 +312,6 @@ void HardwareCodecDeflateQpl::flushAsynchronousDecompressRequests()
{
it = decomp_async_job_map.begin();
_tpause(1, __rdtsc() + 1000);
++num_checks;
}
}
}