[FFmpeg-devel] [PATCH 11/19] 8svx: remove useless rounding code.

Paul B Mahol onemda at gmail.com
Sun Jul 29 16:40:25 CEST 2012


On 7/29/12, Nicolas George <nicolas.george at normalesup.org> wrote:
> samples_size and samples_idx are supposed to be multiple of
> channels at all time. If they are, the division is exact;
> if they are not, something is very wrong in the code.

In which case assert would notify us that something got wrong.
So I would keep assert.
>
> Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
> ---
>  libavcodec/8svx.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/8svx.c b/libavcodec/8svx.c
> index 3bece41..967b8c9 100644
> --- a/libavcodec/8svx.c
> +++ b/libavcodec/8svx.c
> @@ -37,6 +37,7 @@
>   * http://aminet.net/mods/smpl/
>   */
>
> +#include "libavutil/avassert.h"
>  #include "avcodec.h"
>
>  /** decoder context */
> @@ -150,7 +151,8 @@ static int eightsvx_decode_frame(AVCodecContext *avctx,
> void *data,
>      }
>
>      /* get output buffer */
> -    esc->frame.nb_samples = (FFMIN(MAX_FRAME_SIZE, esc->samples_size -
> esc->samples_idx) +avctx->channels-1)  / avctx->channels;
> +    av_assert1(!(esc->samples_size % avctx->channels || esc->samples_idx %
> avctx->channels));
> +    esc->frame.nb_samples = FFMIN(MAX_FRAME_SIZE, esc->samples_size -
> esc->samples_idx)  / avctx->channels;
>      if ((ret = avctx->get_buffer(avctx, &esc->frame)) < 0) {
>          av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
>          return ret;


More information about the ffmpeg-devel mailing list