+1 LGTM -----Original Message----- From: Libva [mailto:[email protected]] On Behalf Of [email protected] Sent: Thursday, March 05, 2015 3:04 AM To: [email protected] Subject: [Libva] [PATCH 1/3] jpeg_enc: Avoid integer overflow while doing quality factor scaling
From: Sreerenj Balachandran <[email protected]> For eg: The uint8_t will simple overflow if submitted quality factor is 1 (5000/1). --- src/gen8_mfc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gen8_mfc.c b/src/gen8_mfc.c index 314b882..698dcae 100644 --- a/src/gen8_mfc.c +++ b/src/gen8_mfc.c @@ -2674,7 +2674,7 @@ gen8_mfc_jpeg_fqm_state(VADriverContextP ctx, struct intel_encoder_context *encoder_context, struct encode_state *encode_state) { - uint8_t quality = 0; + unsigned int quality = 0; uint32_t temp, i = 0, j = 0, dword_qm[32]; VAEncPictureParameterBufferJPEG *pic_param; VAQMatrixBufferJPEG *qmatrix; @@ -2706,7 +2706,9 @@ gen8_mfc_jpeg_fqm_state(VADriverContextP ctx, qmatrix->load_lum_quantiser_matrix = 1; qmatrix->load_chroma_quantiser_matrix = (pic_param->num_components > 1) ? 1 : 0; } - + + if (quality > 100) + quality = 100; quality = (quality < 50) ? (5000/quality) : (200 - (quality*2)); quality = (quality == 0) ? 1 : quality; -- 1.9.1 _______________________________________________ Libva mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libva _______________________________________________ Libva mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libva
