rtpenc_jpeg: Handle case of picture dimensions not dividing by 8
authorAndrey Utkin <andrey.krieger.utkin@gmail.com>
Fri, 10 Apr 2015 21:54:10 +0000 (00:54 +0300)
committerReinhard Tartler <siretart@tauware.de>
Sun, 31 May 2015 15:11:13 +0000 (11:11 -0400)
This fixes the calculation of the number of needed blocks to make
sure that ALL pixels are represented by the result.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 4415d0f3bbaeb287327ef101ae98d727a69d9af1)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
libavformat/rtpenc_jpeg.c

index 04df658..0ceb091 100644 (file)
@@ -40,8 +40,8 @@ void ff_rtp_send_jpeg(AVFormatContext *s1, const uint8_t *buf, int size)
     s->timestamp = s->cur_timestamp;
 
     /* convert video pixel dimensions from pixels to blocks */
-    w = s1->streams[0]->codec->width  >> 3;
-    h = s1->streams[0]->codec->height >> 3;
+    w = (s1->streams[0]->codec->width  + 7) >> 3;
+    h = (s1->streams[0]->codec->height + 7) >> 3;
 
     /* check if pixel format is not the normal 420 case */
     if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P) {