mirror of https://git.ffmpeg.org/ffmpeg.git
mpeg-ps probe 2nd try
Originally committed as revision 4974 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
5c4b1b2538
commit
0b2bb3543f
|
@ -1263,7 +1263,7 @@ static int mpeg_mux_end(AVFormatContext *ctx)
|
||||||
static int mpegps_probe(AVProbeData *p)
|
static int mpegps_probe(AVProbeData *p)
|
||||||
{
|
{
|
||||||
uint32_t code= -1;
|
uint32_t code= -1;
|
||||||
int sys=0, pspack=0;
|
int sys=0, pspack=0, priv1=0, vid=0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i=0; i<p->buf_size; i++){
|
for(i=0; i<p->buf_size; i++){
|
||||||
|
@ -1271,12 +1271,16 @@ static int mpegps_probe(AVProbeData *p)
|
||||||
if ((code & 0xffffff00) == 0x100) {
|
if ((code & 0xffffff00) == 0x100) {
|
||||||
switch(code){
|
switch(code){
|
||||||
case SYSTEM_HEADER_START_CODE: sys++; break;
|
case SYSTEM_HEADER_START_CODE: sys++; break;
|
||||||
|
case PRIVATE_STREAM_1: priv1++; break;
|
||||||
case PACK_START_CODE: pspack++; break;
|
case PACK_START_CODE: pspack++; break;
|
||||||
|
case (VIDEO_ID + 0x100): vid++; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(sys && sys*9 <= pspack*10)
|
if(sys && sys*9 <= pspack*10)
|
||||||
return AVPROBE_SCORE_MAX/2+2; // +1 for .mpg
|
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
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue