You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Improve codec_tag guessing code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		| @@ -25,6 +25,7 @@ | ||||
| #include "avio_internal.h" | ||||
| #include "internal.h" | ||||
| #include "libavcodec/internal.h" | ||||
| #include "libavcodec/raw.h" | ||||
| #include "libavutil/opt.h" | ||||
| #include "metadata.h" | ||||
| #include "id3v2.h" | ||||
| @@ -2428,8 +2429,11 @@ int av_find_stream_info(AVFormatContext *ic) | ||||
|                      (st->codec_info_nb_frames-2)*(int64_t)st->time_base.den, | ||||
|                       st->info->codec_info_duration*(int64_t)st->time_base.num, 60000); | ||||
|         if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { | ||||
|             if(st->codec->codec_id == CODEC_ID_RAWVIDEO && !st->codec->codec_tag && !st->codec->bits_per_coded_sample) | ||||
|                 st->codec->codec_tag= avcodec_pix_fmt_to_codec_tag(st->codec->pix_fmt); | ||||
|             if(st->codec->codec_id == CODEC_ID_RAWVIDEO && !st->codec->codec_tag && !st->codec->bits_per_coded_sample){ | ||||
|                 uint32_t tag= avcodec_pix_fmt_to_codec_tag(st->codec->pix_fmt); | ||||
|                 if(ff_find_pix_fmt(ff_raw_pix_fmt_tags, tag) == st->codec->pix_fmt) | ||||
|                     st->codec->codec_tag= tag; | ||||
|             } | ||||
|  | ||||
|             // the check for tb_unreliable() is not completely correct, since this is not about handling | ||||
|             // a unreliable/inexact time base, but a time base that is finer than necessary, as e.g. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user