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.
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..a6f454b 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 = (s1->streams[0]->codec->width >> 3) + (s1->streams[0]->codec->width % 7 ? 1 : 0); + h = (s1->streams[0]->codec->height >> 3) + (s1->streams[0]->codec->height % 7 ? 1 : 0); /* get the pixel format type or fail */ if (s1->streams[0]->codec->pix_fmt == AV_PIX_FMT_YUVJ422P || -- 2.2.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel