"zhilizhao(赵志立)": > > >> On Apr 19, 2022, at 1:12 PM, Zhao Zhili <quinkbl...@foxmail.com> wrote: >> >> 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. >> --- >> libavformat/mov.c | 4 +--- >> 1 file changed, 1 insertion(+), 3 deletions(-) >> >> diff --git a/libavformat/mov.c b/libavformat/mov.c >> index 6c847de164..bdc8c84bae 100644 >> --- a/libavformat/mov.c >> +++ b/libavformat/mov.c >> @@ -2487,8 +2487,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 >> @@ -2497,7 +2495,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 >> -- >> 2.35.3 >> > > Do we care about such micro-optimization, or just let compiler do it’s job?
A compiler could currently only optimize this on its own if you were using LTO; it might also be able to optimize this if ff_codec_get_id were marked as av_pure. Of course, there is no guarantee that this is optimized in these cases, but you could check whether e.g. GCC/Clang do it. And I don't see anything wrong with micro-optimizations. - Andreas _______________________________________________ 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".