Am 10.04.2015 um 23:54 schrieb Andrey Utkin:
If width or height doesn't divide by 8, there are non-full blocks with
the remaining of pixels; but before this commit, RTP encoding procedure
assumed there's just w/8 by h/8 blocks.
Maybe this is a clearer term:
"This fixes the calculation of the number of needed blocks to make sure that ALL pixels are represented by the result."

Signed-off-by: Andrey Utkin <andrey.krieger.ut...@gmail.com>
---
  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 ||
LGTM.

BR,
Thomas.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to