Signed-off-by: Jai Luthra <m...@jailuthra.in>
---
 libavcodec/mlpenc.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

    v2: fixes more integer issues

diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c
index 347a43248c..173cf71956 100644
--- a/libavcodec/mlpenc.c
+++ b/libavcodec/mlpenc.c
@@ -87,11 +87,11 @@ typedef struct {
 } DecodingParams;
 
 typedef struct BestOffset {
-    int16_t offset;
+    int32_t offset;
     int bitcount;
     int lsb_bits;
-    int16_t min;
-    int16_t max;
+    int32_t min;
+    int32_t max;
 } BestOffset;
 
 #define HUFF_OFFSET_MIN    (-16384)
@@ -568,7 +568,7 @@ static av_cold int mlp_encode_init(AVCodecContext *avctx)
     }
     ctx->coded_sample_fmt[1] = -1 & 0xf;
 
-    ctx->dts = -avctx->frame_size;
+    ctx->dts = (uint16_t) (-avctx->frame_size);
 
     ctx->num_channels = avctx->channels + 2; /* +2 noise channels */
     ctx->one_sample_buffer_size = avctx->frame_size
@@ -1249,7 +1249,7 @@ static void input_data_internal(MLPEncodeContext *ctx, 
const uint8_t *samples,
                 uint32_t abs_sample;
                 int32_t sample;
 
-                sample = is24 ? *samples_32++ >> 8 : *samples_16++ * 256U;
+                sample = is24 ? *samples_32++ >> 8 : *samples_16++ * 256;
 
                 /* TODO Find out if number_sbits can be used for negative 
values. */
                 abs_sample = FFABS(sample);
@@ -1589,7 +1589,7 @@ static void no_codebook_bits(MLPEncodeContext *ctx,
                              BestOffset *bo)
 {
     DecodingParams *dp = ctx->cur_decoding_params;
-    int16_t offset;
+    int32_t offset;
     int32_t unsign = 0;
     uint32_t diff;
     int lsb_bits;
@@ -1611,7 +1611,7 @@ static void no_codebook_bits(MLPEncodeContext *ctx,
 
     /* If all samples are the same (lsb_bits == 0), offset must be
      * adjusted because of sign_shift. */
-    offset = min + diff / 2 + !!lsb_bits;
+    offset = min + (int) (diff / 2) + !!lsb_bits;
 
     bo->offset   = offset;
     bo->lsb_bits = lsb_bits;
@@ -1792,7 +1792,7 @@ static void determine_bits(MLPEncodeContext *ctx)
 #define SAMPLE_MAX(bitdepth) ((1 << (bitdepth - 1)) - 1)
 #define SAMPLE_MIN(bitdepth) (~SAMPLE_MAX(bitdepth))
 
-#define MSB_MASK(bits)  (-(1u << (bits)))
+#define MSB_MASK(bits)  (-(int)(1u << (bits)))
 
 /** Applies the filter to the current samples, and saves the residual back
  *  into the samples buffer. If the filter is too bad and overflows the
@@ -2280,8 +2280,8 @@ static int mlp_encode_frame(AVCodecContext *avctx, 
AVPacket *avpkt,
 
     bytes_written = write_access_unit(ctx, avpkt->data, avpkt->size, 
restart_frame);
 
-    ctx->timestamp += ctx->frame_size[ctx->frame_index];
-    ctx->dts       += ctx->frame_size[ctx->frame_index];
+    ctx->timestamp = (uint16_t) (ctx->timestamp + 
ctx->frame_size[ctx->frame_index]);
+    ctx->dts       = (uint16_t) (ctx->dts       + 
ctx->frame_size[ctx->frame_index]);
 
 input_and_return:
 
-- 
2.25.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to