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)
committerMartin Storsjö <martin@martin.st>
Thu, 23 Apr 2015 20:20:03 +0000 (23:20 +0300)
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>
libavformat/rtpenc_jpeg.c

index 9d0915b..b8c880a 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 */
     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;
 
     /* get the pixel format type or fail */
     if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P ||
 
     /* get the pixel format type or fail */
     if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P ||