Am Sa., 24. Aug. 2019 um 01:47 Uhr schrieb Marton Balint <c...@passwd.hu>: > > Some security cams generate this, as well as some versions of VirtualDub so > support for _reading_ such files is justified.
Please also mention vlc. > > Fixes ticket #7110. > > See also this discussion: https://patchwork.ffmpeg.org/patch/8744/ > > Signed-off-by: Marton Balint <c...@passwd.hu> > --- > libavformat/avidec.c | 4 ++++ > libavformat/riff.c | 5 +++++ > libavformat/riff.h | 2 ++ > 3 files changed, 11 insertions(+) > > diff --git a/libavformat/avidec.c b/libavformat/avidec.c > index 1d887b1cc9..7946791fe4 100644 > --- a/libavformat/avidec.c > +++ b/libavformat/avidec.c > @@ -815,6 +815,10 @@ FF_ENABLE_DEPRECATION_WARNINGS > "mov tag found in avi (fourcc %s)\n", > av_fourcc2str(tag1)); > } > + /* Finally try unofficial codec tags to support > non-standard files. */ The comment does not look useful. > + if (!st->codecpar->codec_id) > + st->codecpar->codec_id = > ff_codec_get_id(ff_codec_bmp_tags_unofficial, tag1); > + > /* This is needed to get the pict type which is necessary > * for generating correct pts. */ > st->need_parsing = AVSTREAM_PARSE_HEADERS; > diff --git a/libavformat/riff.c b/libavformat/riff.c > index e755ad8d5f..52b0bf8f03 100644 > --- a/libavformat/riff.c > +++ b/libavformat/riff.c > @@ -491,6 +491,11 @@ const AVCodecTag ff_codec_bmp_tags[] = { > { AV_CODEC_ID_NONE, 0 } > }; > > +const AVCodecTag ff_codec_bmp_tags_unofficial[] = { > + { AV_CODEC_ID_HEVC, MKTAG('H', 'E', 'V', 'C') }, > + { AV_CODEC_ID_NONE, 0 } > +}; > + > const AVCodecTag ff_codec_wav_tags[] = { > { AV_CODEC_ID_PCM_S16LE, 0x0001 }, > /* must come after s16le in this list */ > diff --git a/libavformat/riff.h b/libavformat/riff.h > index 323aa38b4d..21078b77c8 100644 > --- a/libavformat/riff.h > +++ b/libavformat/riff.h > @@ -73,6 +73,8 @@ int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb, > AVCodecParameters *pa > extern const AVCodecTag ff_codec_bmp_tags[]; // exposed through > avformat_get_riff_video_tags() > extern const AVCodecTag ff_codec_wav_tags[]; > > +extern const AVCodecTag ff_codec_bmp_tags_unofficial[]; Imo, this is far too complicated to avoid writing files that all other relevant applications write happily. Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".