diff --git a/libavcodec/h264.c b/libavcodec/h264.c

index da144db..0aab4e7 100644 (file)

--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2351,7 +2351,7 @@ static int field_end(H264Context *h, int in_setup)
      * past end by one (callers fault) and resync_mb_y != 0
      * causes problems for the first MB line, too.
      */
-    if (!FIELD_PICTURE && h->current_slice)
+    if (!FIELD_PICTURE && h->current_slice && !h->sps.new)
         ff_er_frame_end(s);
 
     ff_MPV_frame_end(s);
