|
|
|
@ -1263,7 +1263,7 @@ static int mpeg_mux_end(AVFormatContext *ctx) |
|
|
|
|
static int mpegps_probe(AVProbeData *p) |
|
|
|
|
{ |
|
|
|
|
uint32_t code= -1; |
|
|
|
|
int sys=0, pspack=0, priv1=0, vid=0; |
|
|
|
|
int sys=0, pspack=0, priv1=0, vid=0, audio=0; |
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
for(i=0; i<p->buf_size; i++){ |
|
|
|
@ -1274,6 +1274,7 @@ static int mpegps_probe(AVProbeData *p) |
|
|
|
|
case PRIVATE_STREAM_1: priv1++; break; |
|
|
|
|
case PACK_START_CODE: pspack++; break; |
|
|
|
|
case (VIDEO_ID + 0x100): vid++; break; |
|
|
|
|
case (AUDIO_ID + 0x100): audio++; break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -1281,6 +1282,8 @@ static int mpegps_probe(AVProbeData *p) |
|
|
|
|
return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg
|
|
|
|
|
if((priv1 || vid) && (priv1+vid)*9 <= pspack*10) |
|
|
|
|
return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg
|
|
|
|
|
if((!!vid ^ !!audio) && !sys && !pspack) /* PES stream */ |
|
|
|
|
return AVPROBE_SCORE_MAX/2; |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|