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

Michael Niedermayer michaelni at gmx.at
Fri Apr 10 23:47:46 CEST 2015


On Sat, Apr 11, 2015 at 12:14:00AM +0300, Andrey Utkin wrote:
> 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.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..6037b80 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  % 8 ? 1 : 0);
> +    h = (s1->streams[0]->codec->height >> 3) + (s1->streams[0]->codec->height % 8 ? 1 : 0);

can be simplified with FF_CEIL_RSHIFT

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Avoid a single point of failure, be that a person or equipment.
-------------- 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/20150410/d929e476/attachment.asc>


More information about the ffmpeg-devel mailing list