diff --git a/libavformat/raw.c b/libavformat/raw.c
index ee43e399c9550b8c91b4d3c599667ac9a552941c..73a20379ae2610cc274e243f305c9d0e09f2eda2 100644
--- a/libavformat/raw.c
+++ b/libavformat/raw.c
@@ -337,9 +337,9 @@ static int mpegvideo_probe(AVProbeData *p)
             case PICTURE_START_CODE:   pic++; break;
             case   SLICE_START_CODE: slice++; break;
             case    PACK_START_CODE: pspack++; break;
-            case           VIDEO_ID:
-            case           AUDIO_ID:   pes++; break;
             }
+            if     ((code & 0x1f0) == VIDEO_ID)   pes++;
+            else if((code & 0x1e0) == AUDIO_ID)   pes++;
         }
     }
     if(seq && seq*9<=pic*10 && pic*9<=slice*10 && !pspack && !pes)