Skip to content

Commit d6906fc

Browse files
Fix type-punning in RTjpegN (caught by g++)
1 parent 5a8b3ed commit d6906fc

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

mythtv/libs/libmythtv/recorders/RTjpegN.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -520,15 +520,16 @@ int RTjpeg::s2b(int16_t *data, int8_t *strm, uint8_t bt8, uint32_t *qtbla)
520520
void RTjpeg::QuantInit(void)
521521
{
522522
int i;
523-
int16_t *qtbl;
523+
typedef union { int16_t *int16; int32_t *int32; } P16_32;
524+
P16_32 qtbl;
524525

525-
qtbl = (int16_t *)lqt;
526+
qtbl.int32 = lqt;
526527
for (i = 0; i < 64; i++)
527-
qtbl[i] = (int16_t)lqt[i];
528+
qtbl.int16[i] = static_cast<int16_t>(lqt[i]);
528529

529-
qtbl = (int16_t *)cqt;
530+
qtbl.int32 = cqt;
530531
for (i = 0; i < 64; i++)
531-
qtbl[i] = (int16_t)cqt[i];
532+
qtbl.int16[i] = static_cast<int16_t>(cqt[i]);
532533
}
533534

534535
void RTjpeg::Quant(int16_t *block, int32_t *qtbl)

0 commit comments

Comments
 (0)