diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index 9795b7f..de1ce22 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -260,11 +260,11 @@ static void mpeg1_encode_sequence_header(MpegEncContext *s)
             if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO || i <= 1)
                 error -= (1LL<<32) / ff_mpeg1_aspect[i];
             else
-                error -= (1LL<<32)*ff_mpeg2_aspect[i].num * s->height / s->width / ff_mpeg2_aspect[i].den;
+                error -= error*ff_mpeg2_aspect[i].num * s->height / s->width / ff_mpeg2_aspect[i].den;
 
             error = FFABS(error);
 
-            if (error - 2 <= best_aspect_error) {
+            if (error < best_aspect_error) {
                 best_aspect_error    = error;
                 s->aspect_ratio_info = i;
             }
