int invalid_psc=0;
int res_change=0;
int src_fmt, last_src_fmt=-1;
+ int last_gn=0;
for(i=0; i<p->buf_size; i++){
code = (code<<8) + p->buf[i];
if((code&0x300)==0x200 && src_fmt){
valid_psc++;
+ last_gn=0;
}else
invalid_psc++;
last_src_fmt= src_fmt;
+ } else if((code & 0xffff800000) == 0x800000) {
+ int gn= (code>>(23-5)) & 0x1F;
+ if(gn<last_gn){
+ invalid_psc++;
+ }else
+ last_gn= gn;
}
}
//av_log(NULL, AV_LOG_ERROR, "h263_probe: psc:%d invalid:%d res_change:%d\n", valid_psc, invalid_psc, res_change);
uint8_t *buf;
uint8_t *end = buf0 + p->buf_size - 7;
- if (ff_id3v2_match(buf0)) {
+ if (ff_id3v2_match(buf0, ID3v2_DEFAULT_MAGIC)) {
buf0 += ff_id3v2_tag_len(buf0);
}
buf = buf0;
st->need_parsing = AVSTREAM_PARSE_FULL;
ff_id3v1_read(s);
- ff_id3v2_read(s);
+ ff_id3v2_read(s, ID3v2_DEFAULT_MAGIC);
return 0;
}
};
#endif
+#if CONFIG_CAVSVIDEO_MUXER
+AVOutputFormat cavsvideo_muxer = {
+ "cavsvideo",
+ NULL_IF_CONFIG_SMALL("raw Chinese AVS video"),
+ NULL,
+ "cavs",
+ 0,
+ CODEC_ID_NONE,
+ CODEC_ID_CAVS,
+ NULL,
+ raw_write_packet,
+ .flags= AVFMT_NOTIMESTAMPS,
+};
+#endif
+
#if CONFIG_INGENIENT_DEMUXER
AVInputFormat ingenient_demuxer = {
"ingenient",
};
#endif
+#if CONFIG_SRT_MUXER
+AVOutputFormat srt_muxer = {
+ .name = "srt",
+ .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle format"),
+ .mime_type = "application/x-subrip",
+ .extensions = "srt",
+ .write_packet = raw_write_packet,
+ .flags = AVFMT_NOTIMESTAMPS,
+ .subtitle_codec = CODEC_ID_SRT,
+};
+#endif
+
#if CONFIG_TRUEHD_DEMUXER
AVInputFormat truehd_demuxer = {
"truehd",