diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c
index b888a366a04ca84a56b16884f0cdcfeaf779d7cc..1c3f2ecf5a08aa6d970d5a03a865644d39cac89a 100644
--- a/libavcodec/h261enc.c
+++ b/libavcodec/h261enc.c
@@ -61,8 +61,8 @@ void ff_h261_encode_picture_header(MpegEncContext *s, int picture_number)
 
     put_bits(&s->pb, 20, 0x10); /* PSC */
 
-    temp_ref = s->picture_number * 30000L * s->avctx->time_base.num /
-               (1001L * s->avctx->time_base.den);   // FIXME maybe this should use a timestamp
+    temp_ref = s->picture_number * 30000LL * s->avctx->time_base.num /
+               (1001LL * s->avctx->time_base.den);   // FIXME maybe this should use a timestamp
     put_sbits(&s->pb, 5, temp_ref); /* TemporalReference */
 
     put_bits(&s->pb, 1, 0); /* split screen off */