]> git.sesse.net Git - nageru/blobdiff - nageru/mjpeg_encoder.cpp
Fix MJPEG white balance information when VA-API is in use.
[nageru] / nageru / mjpeg_encoder.cpp
index 19ffd58719aa151c01144d850cc987799cd175ed..4cc929b88d5083f0fb30b80a9b199c256cf8abe1 100644 (file)
@@ -660,11 +660,11 @@ vector<uint8_t> MJPEGEncoder::get_jpeg_header(unsigned width, unsigned height, c
        return dest.dest;
 }
 
-MJPEGEncoder::VAData MJPEGEncoder::get_va_data_for_resolution(unsigned width, unsigned height, const RGBTriplet &white_balance)
+MJPEGEncoder::VAData MJPEGEncoder::get_va_data_for_parameters(unsigned width, unsigned height, const RGBTriplet &white_balance)
 {
-       pair<unsigned, unsigned> key(width, height);
-       if (va_data_for_resolution.count(key)) {
-               return va_data_for_resolution[key];
+       VAKey key{width, height, white_balance};
+       if (va_data_for_parameters.count(key)) {
+               return va_data_for_parameters[key];
        }
 
        // Use libjpeg to generate a header and set sane defaults for e.g.
@@ -765,7 +765,7 @@ MJPEGEncoder::VAData MJPEGEncoder::get_va_data_for_resolution(unsigned width, un
        ret.q = q;
        ret.huff = huff;
        ret.parms = parms;
-       va_data_for_resolution[key] = ret;
+       va_data_for_parameters[key] = ret;
        return ret;
 }
 
@@ -786,7 +786,7 @@ void MJPEGEncoder::encode_jpeg_va(QueuedFrame &&qf)
                release = ReleaseVAResources(this, resources);
        }
 
-       VAData va_data = get_va_data_for_resolution(width, height, qf.white_balance);
+       VAData va_data = get_va_data_for_parameters(width, height, qf.white_balance);
        va_data.pic_param.coded_buf = resources.data_buffer;
 
        VABufferID pic_param_buffer;