[FFmpeg-devel] [PATCH] rtpenc_jpeg: handle case of picture dimensions not dividing by 8
Michael Niedermayer
michaelni at gmx.at
Sat Apr 11 02:13:20 CEST 2015
On Sat, Apr 11, 2015 at 02:02:39AM +0200, Thomas Volkert wrote:
>
>
> 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.utkin at 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.
applied with the suggested commit message
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
You can kill me, but you cannot change the truth.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150411/46aea788/attachment.asc>
More information about the ffmpeg-devel
mailing list