X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fraw.c;h=7b46c188a1bc44d7761ad772728461f286d4c601;hb=7b18d94cb3c44cab320f4ea177760fa14d82fe30;hp=85d204d7e38b4cac9db7d60ecdaba5108d3bd240;hpb=1c1697117dbd2923d5876c10a1ebaeec233338b5;p=ffmpeg diff --git a/libavformat/raw.c b/libavformat/raw.c index 85d204d7e38..7b46c188a1b 100644 --- a/libavformat/raw.c +++ b/libavformat/raw.c @@ -457,6 +457,7 @@ static int h263_probe(AVProbeData *p) int invalid_psc=0; int res_change=0; int src_fmt, last_src_fmt=-1; + int last_gn=0; for(i=0; ibuf_size; i++){ code = (code<<8) + p->buf[i]; @@ -469,9 +470,16 @@ static int h263_probe(AVProbeData *p) 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(gnbuf_size - 7; - if (ff_id3v2_match(buf0)) { + if (ff_id3v2_match(buf0, ID3v2_DEFAULT_MAGIC)) { buf0 += ff_id3v2_tag_len(buf0); } buf = buf0; @@ -706,7 +714,7 @@ static int adts_aac_read_header(AVFormatContext *s, st->need_parsing = AVSTREAM_PARSE_FULL; ff_id3v1_read(s); - ff_id3v2_read(s); + ff_id3v2_read(s, ID3v2_DEFAULT_MAGIC); return 0; } @@ -973,6 +981,21 @@ AVOutputFormat h264_muxer = { }; #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", @@ -1074,6 +1097,18 @@ AVOutputFormat mlp_muxer = { }; #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",