Use QByteArray::reserve() rather than reallocating each time we must resize

This commit is contained in:
Cameron Gutman 2019-05-02 22:54:18 -07:00
parent 99d9de35de
commit 18d1d35104

View File

@ -620,9 +620,9 @@ int FFmpegVideoDecoder::submitDecodeUnit(PDECODE_UNIT du)
// Add some extra space in case we need to do an SPS fixup // Add some extra space in case we need to do an SPS fixup
requiredBufferSize += MAX_SPS_EXTRA_SIZE; requiredBufferSize += MAX_SPS_EXTRA_SIZE;
} }
if (requiredBufferSize + AV_INPUT_BUFFER_PADDING_SIZE > m_DecodeBuffer.length()) {
m_DecodeBuffer = QByteArray(requiredBufferSize + AV_INPUT_BUFFER_PADDING_SIZE, 0); // Ensure the decoder buffer is large enough
} m_DecodeBuffer.reserve(requiredBufferSize + AV_INPUT_BUFFER_PADDING_SIZE);
int offset = 0; int offset = 0;
while (entry != nullptr) { while (entry != nullptr) {