mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avformat/mov: skip call ff_codec_get_id if possible
ff_codec_get_id loops over ff_codec_movvideo_tags (which is a large array) two times. The result is unused most of the cases. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
This commit is contained in:
parent
e561d16d49
commit
580fb6a8c9
@ -2489,8 +2489,6 @@ static int mov_skip_multiple_stsd(MOVContext *c, AVIOContext *pb,
|
||||
int codec_tag, int format,
|
||||
int64_t size)
|
||||
{
|
||||
int video_codec_id = ff_codec_get_id(ff_codec_movvideo_tags, format);
|
||||
|
||||
if (codec_tag &&
|
||||
(codec_tag != format &&
|
||||
// AVID 1:1 samples with differing data format and codec tag exist
|
||||
@ -2499,7 +2497,7 @@ static int mov_skip_multiple_stsd(MOVContext *c, AVIOContext *pb,
|
||||
codec_tag != AV_RL32("apcn") && codec_tag != AV_RL32("apch") &&
|
||||
// so is dv (sigh)
|
||||
codec_tag != AV_RL32("dvpp") && codec_tag != AV_RL32("dvcp") &&
|
||||
(c->fc->video_codec_id ? video_codec_id != c->fc->video_codec_id
|
||||
(c->fc->video_codec_id ? ff_codec_get_id(ff_codec_movvideo_tags, format) != c->fc->video_codec_id
|
||||
: codec_tag != MKTAG('j','p','e','g')))) {
|
||||
/* Multiple fourcc, we skip JPEG. This is not correct, we should
|
||||
* export it as a separate AVStream but this needs a few changes
|
||||
|
Loading…
Reference in New Issue
Block a user