encoder: vp8: Fix the size over-flow for encoded buffer.
authorSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 28 May 2015 07:43:20 +0000 (10:43 +0300)
committerSreerenj Balachandran <sreerenj.balachandran@intel.com>
Thu, 28 May 2015 07:43:20 +0000 (10:43 +0300)
The approximation of 4 times compression ratio will not
work in all cases. Especially when enabling I frames.
Provide large enough size for coded-buffer creation.

gst-libs/gst/vaapi/gstvaapiencoder_vp8.c

index dadccfd..65b449e 100644 (file)
@@ -161,10 +161,9 @@ set_context_info (GstVaapiEncoder * base_encoder)
 
   base_encoder->num_ref_frames = 3;
 
-  /* Only YUV 4:2:0 formats are supported for now.
-     Take an approximation of 4 times compress ratio */
+  /* Only YUV 4:2:0 formats are supported for now. */
   base_encoder->codedbuf_size = GST_ROUND_UP_16 (vip->width) *
-      GST_ROUND_UP_16 (vip->height) * 3 / 2 / 4;
+      GST_ROUND_UP_16 (vip->height) * 3 / 2;
 
   base_encoder->codedbuf_size +=
       MAX_FRAME_TAG_SIZE + MAX_UPDATE_SEGMENTATION_SIZE +