[FFmpeg-cvslog] rtpenc_jpeg: handle case of picture dimensions not dividing by 8

Andrey Utkin git at videolan.org
Sat Apr 11 02:44:27 CEST 2015


ffmpeg | branch: master | Andrey Utkin <andrey.krieger.utkin at gmail.com> | Sat Apr 11 00:54:10 2015 +0300| [7f64a7503b19b39f1251e4380987034c569bebf5] | committer: Michael Niedermayer

rtpenc_jpeg: handle case of picture dimensions not dividing by 8

This fixes the calculation of the number of needed blocks to make
sure that ALL pixels are represented by the result.

Reviewed-by: Thomas Volkert <silvo at gmx.net>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7f64a7503b19b39f1251e4380987034c569bebf5
---

 libavformat/rtpenc_jpeg.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/rtpenc_jpeg.c b/libavformat/rtpenc_jpeg.c
index c353329..9a20cbc 100644
--- a/libavformat/rtpenc_jpeg.c
+++ b/libavformat/rtpenc_jpeg.c
@@ -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 = FF_CEIL_RSHIFT(s1->streams[0]->codec->width, 3);
+    h = FF_CEIL_RSHIFT(s1->streams[0]->codec->height, 3);
 
     /* get the pixel format type or fail */
     if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P ||



More information about the ffmpeg-cvslog mailing list