summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r--demux/demux_mkv.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index ee355f258f..e3991372f9 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -2060,30 +2060,30 @@ static void handle_realaudio(demuxer_t *demuxer, mkv_track_t *track,
int bs = sph * w * 2 / 96; // nibbles per subpacket
// Perform reordering
for (n = 0; n < 38; n++) {
- int i = bs * sipr_swaps[n][0]; // 77 max
- int o = bs * sipr_swaps[n][1]; // 95 max
+ unsigned int i = bs * sipr_swaps[n][0]; // 77 max
+ unsigned int o = bs * sipr_swaps[n][1]; // 95 max
// swap nibbles of block 'i' with 'o'
for (int j = 0; j < bs; j++) {
if (i / 2 >= audiobuf_size || o / 2 >= audiobuf_size)
goto error;
int x = (i & 1) ?
- (track->audio_buf[i >> 1] >> 4) :
- (track->audio_buf[i >> 1] & 0x0F);
+ (track->audio_buf[i / 2] >> 4) :
+ (track->audio_buf[i / 2] & 0x0F);
int y = (o & 1) ?
- (track->audio_buf[o >> 1] >> 4) :
- (track->audio_buf[o >> 1] & 0x0F);
+ (track->audio_buf[o / 2] >> 4) :
+ (track->audio_buf[o / 2] & 0x0F);
if (o & 1)
- track->audio_buf[o >> 1] =
- (track->audio_buf[o >> 1] & 0x0F) | (x << 4);
+ track->audio_buf[o / 2] =
+ (track->audio_buf[o / 2] & 0x0F) | (x << 4);
else
- track->audio_buf[o >> 1] =
- (track->audio_buf[o >> 1] & 0xF0) | x;
+ track->audio_buf[o / 2] =
+ (track->audio_buf[o / 2] & 0xF0) | x;
if (i & 1)
- track->audio_buf[i >> 1] =
- (track->audio_buf[i >> 1] & 0x0F) | (y << 4);
+ track->audio_buf[i / 2] =
+ (track->audio_buf[i / 2] & 0x0F) | (y << 4);
else
- track->audio_buf[i >> 1] =
- (track->audio_buf[i >> 1] & 0xF0) | y;
+ track->audio_buf[i / 2] =
+ (track->audio_buf[i / 2] & 0xF0) | y;
++i;
++o;
}