* [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal [not found] <20211224095823.58415-1-quinkblack@foxmail.com> @ 2021-12-24 9:58 ` Zhao Zhili 2021-12-24 10:19 ` Steven Liu 2021-12-24 9:58 ` [FFmpeg-devel] [PATCH 3/3] avformat/mov: remove always false condtion Zhao Zhili 1 sibling, 1 reply; 9+ messages in thread From: Zhao Zhili @ 2021-12-24 9:58 UTC (permalink / raw) To: ffmpeg-devel; +Cc: Zhao Zhili The samples I have got have hoov and moov both. Unknown boxes should be skipped according to the spec. So don't treat hoov as moov in normal mode. For backward compatible, a log message has been added to notice the user to relax the striction if moov doesn't exist. Fix #8883. --- libavformat/mov.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index ea2f010aa0..63483740a0 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -7324,10 +7324,11 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (atom.size >= 8) { a.size = avio_rb32(pb); a.type = avio_rl32(pb); - if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || - a.type == MKTAG('h','o','o','v')) && - a.size >= 8 && - c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) { + if (((a.type == MKTAG('f','r','e','e') && c->moov_retry && + c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) || + (a.type == MKTAG('h','o','o','v') && + c->fc->strict_std_compliance < FF_COMPLIANCE_NORMAL)) && + a.size >= 8) { uint32_t type; avio_skip(pb, 4); type = avio_rl32(pb); @@ -7340,6 +7341,10 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) a.type = MKTAG('m','o','o','v'); } } + if (a.type == MKTAG('h','o','o','v') && + c->fc->strict_std_compliance >= FF_COMPLIANCE_NORMAL) + av_log(c->fc, AV_LOG_INFO, + "Skip hoov atom, try decrease -strict if moov doesn't exist.\n"); if (atom.type != MKTAG('r','o','o','t') && atom.type != MKTAG('m','o','o','v')) { if (a.type == MKTAG('t','r','a','k') || -- 2.31.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal 2021-12-24 9:58 ` [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal Zhao Zhili @ 2021-12-24 10:19 ` Steven Liu 2021-12-24 10:37 ` "zhilizhao(赵志立)" 0 siblings, 1 reply; 9+ messages in thread From: Steven Liu @ 2021-12-24 10:19 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Steven Liu, Zhao Zhili > 2021年12月24日 下午5:58,Zhao Zhili <quinkblack@foxmail.com> 写道: > > The samples I have got have hoov and moov both. Unknown boxes > should be skipped according to the spec. So don't treat hoov as > moov in normal mode. > > For backward compatible, a log message has been added to notice > the user to relax the striction if moov doesn't exist. > > Fix #8883. > --- > libavformat/mov.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index ea2f010aa0..63483740a0 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -7324,10 +7324,11 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) > if (atom.size >= 8) { > a.size = avio_rb32(pb); > a.type = avio_rl32(pb); > - if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || > - a.type == MKTAG('h','o','o','v')) && > - a.size >= 8 && > - c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) { > + if (((a.type == MKTAG('f','r','e','e') && c->moov_retry && > + c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) || > + (a.type == MKTAG('h','o','o','v') && > + c->fc->strict_std_compliance < FF_COMPLIANCE_NORMAL)) && > + a.size >= 8) { I prefer add one option ignore_hoov, let user choose ignore it, because it should more clearly than use stirct. > uint32_t type; > avio_skip(pb, 4); > type = avio_rl32(pb); > @@ -7340,6 +7341,10 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) > a.type = MKTAG('m','o','o','v'); > } > } > + if (a.type == MKTAG('h','o','o','v') && > + c->fc->strict_std_compliance >= FF_COMPLIANCE_NORMAL) > + av_log(c->fc, AV_LOG_INFO, > + "Skip hoov atom, try decrease -strict if moov doesn't exist.\n"); > if (atom.type != MKTAG('r','o','o','t') && > atom.type != MKTAG('m','o','o','v')) { > if (a.type == MKTAG('t','r','a','k') || > -- > 2.31.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > Thanks Steven Liu _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal 2021-12-24 10:19 ` Steven Liu @ 2021-12-24 10:37 ` "zhilizhao(赵志立)" 2021-12-24 10:46 ` Steven Liu 0 siblings, 1 reply; 9+ messages in thread From: "zhilizhao(赵志立)" @ 2021-12-24 10:37 UTC (permalink / raw) To: Steven Liu; +Cc: FFmpeg development discussions and patches > On Dec 24, 2021, at 6:19 PM, Steven Liu <lq@chinaffmpeg.org> wrote: > >> 2021年12月24日 下午5:58,Zhao Zhili <quinkblack@foxmail.com> 写道: >> >> The samples I have got have hoov and moov both. Unknown boxes >> should be skipped according to the spec. So don't treat hoov as >> moov in normal mode. >> >> For backward compatible, a log message has been added to notice >> the user to relax the striction if moov doesn't exist. >> >> Fix #8883. >> --- >> libavformat/mov.c | 13 +++++++++---- >> 1 file changed, 9 insertions(+), 4 deletions(-) >> >> diff --git a/libavformat/mov.c b/libavformat/mov.c >> index ea2f010aa0..63483740a0 100644 >> --- a/libavformat/mov.c >> +++ b/libavformat/mov.c >> @@ -7324,10 +7324,11 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) >> if (atom.size >= 8) { >> a.size = avio_rb32(pb); >> a.type = avio_rl32(pb); >> - if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || >> - a.type == MKTAG('h','o','o','v')) && >> - a.size >= 8 && >> - c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) { >> + if (((a.type == MKTAG('f','r','e','e') && c->moov_retry && >> + c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) || >> + (a.type == MKTAG('h','o','o','v') && >> + c->fc->strict_std_compliance < FF_COMPLIANCE_NORMAL)) && >> + a.size >= 8) { > > I prefer add one option ignore_hoov, let user choose ignore it, because it should more clearly than use stirct. Add an option works for me too, but it should default to ignore hoov, because: 1. Truncated/broken files are minority compared to normal files (I hope); 2. Support normal files has higher priority than workaround broken files. We can support both by drop fake moov info after found a real moov, but it doesn’t deserve the complexity. I’d like to get more opinions. >> uint32_t type; >> avio_skip(pb, 4); >> type = avio_rl32(pb); >> @@ -7340,6 +7341,10 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) >> a.type = MKTAG('m','o','o','v'); >> } >> } >> + if (a.type == MKTAG('h','o','o','v') && >> + c->fc->strict_std_compliance >= FF_COMPLIANCE_NORMAL) >> + av_log(c->fc, AV_LOG_INFO, >> + "Skip hoov atom, try decrease -strict if moov doesn't exist.\n"); >> if (atom.type != MKTAG('r','o','o','t') && >> atom.type != MKTAG('m','o','o','v')) { >> if (a.type == MKTAG('t','r','a','k') || >> -- >> 2.31.1 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >> > > Thanks > > Steven Liu > >> 2021年12月24日 下午5:58,Zhao Zhili <quinkblack@foxmail.com> 写道: >> >> The samples I have got have hoov and moov both. Unknown boxes >> should be skipped according to the spec. So don't treat hoov as >> moov in normal mode. >> >> For backward compatible, a log message has been added to notice >> the user to relax the striction if moov doesn't exist. >> >> Fix #8883. >> --- >> libavformat/mov.c | 13 +++++++++---- >> 1 file changed, 9 insertions(+), 4 deletions(-) >> >> diff --git a/libavformat/mov.c b/libavformat/mov.c >> index ea2f010aa0..63483740a0 100644 >> --- a/libavformat/mov.c >> +++ b/libavformat/mov.c >> @@ -7324,10 +7324,11 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) >> if (atom.size >= 8) { >> a.size = avio_rb32(pb); >> a.type = avio_rl32(pb); >> - if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || >> - a.type == MKTAG('h','o','o','v')) && >> - a.size >= 8 && >> - c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) { >> + if (((a.type == MKTAG('f','r','e','e') && c->moov_retry && >> + c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) || >> + (a.type == MKTAG('h','o','o','v') && >> + c->fc->strict_std_compliance < FF_COMPLIANCE_NORMAL)) && >> + a.size >= 8) { > > I prefer add one option ignore_hoov, let user choose ignore it, because it should more clearly than use stirct. >> uint32_t type; >> avio_skip(pb, 4); >> type = avio_rl32(pb); >> @@ -7340,6 +7341,10 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) >> a.type = MKTAG('m','o','o','v'); >> } >> } >> + if (a.type == MKTAG('h','o','o','v') && >> + c->fc->strict_std_compliance >= FF_COMPLIANCE_NORMAL) >> + av_log(c->fc, AV_LOG_INFO, >> + "Skip hoov atom, try decrease -strict if moov doesn't exist.\n"); >> if (atom.type != MKTAG('r','o','o','t') && >> atom.type != MKTAG('m','o','o','v')) { >> if (a.type == MKTAG('t','r','a','k') || >> -- >> 2.31.1 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> >> To unsubscribe, visit link above, or email >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". >> > > Thanks > > Steven Liu _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal 2021-12-24 10:37 ` "zhilizhao(赵志立)" @ 2021-12-24 10:46 ` Steven Liu 2021-12-24 19:08 ` Derek Buitenhuis 0 siblings, 1 reply; 9+ messages in thread From: Steven Liu @ 2021-12-24 10:46 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Steven Liu "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2021年12月24日周五 18:38写道: > > > > > On Dec 24, 2021, at 6:19 PM, Steven Liu <lq@chinaffmpeg.org> wrote: > > > >> 2021年12月24日 下午5:58,Zhao Zhili <quinkblack@foxmail.com> 写道: > >> > >> The samples I have got have hoov and moov both. Unknown boxes > >> should be skipped according to the spec. So don't treat hoov as > >> moov in normal mode. > >> > >> For backward compatible, a log message has been added to notice > >> the user to relax the striction if moov doesn't exist. > >> > >> Fix #8883. > >> --- > >> libavformat/mov.c | 13 +++++++++---- > >> 1 file changed, 9 insertions(+), 4 deletions(-) > >> > >> diff --git a/libavformat/mov.c b/libavformat/mov.c > >> index ea2f010aa0..63483740a0 100644 > >> --- a/libavformat/mov.c > >> +++ b/libavformat/mov.c > >> @@ -7324,10 +7324,11 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) > >> if (atom.size >= 8) { > >> a.size = avio_rb32(pb); > >> a.type = avio_rl32(pb); > >> - if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || > >> - a.type == MKTAG('h','o','o','v')) && > >> - a.size >= 8 && > >> - c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) { > >> + if (((a.type == MKTAG('f','r','e','e') && c->moov_retry && > >> + c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) || > >> + (a.type == MKTAG('h','o','o','v') && > >> + c->fc->strict_std_compliance < FF_COMPLIANCE_NORMAL)) && > >> + a.size >= 8) { > > > > I prefer add one option ignore_hoov, let user choose ignore it, because it should more clearly than use stirct. > > Add an option works for me too, but it should default to ignore hoov, because: > 1. Truncated/broken files are minority compared to normal files (I hope); > 2. Support normal files has higher priority than workaround broken files. > I think about ignore hoov should not default, because it use hoov default before. We should attention users pay attention about this change maybe do it like deprecate warning. Just waning need change default it ignore hoov and use moov. But I’m not sure ignore hoov is correct, because not sure user have the sample file which only have one hoov and have no moov atom in the files. > We can support both by drop fake moov info after found a real moov, but > it doesn’t deserve the complexity. > > I’d like to get more opinions. > > > >> uint32_t type; > >> avio_skip(pb, 4); > >> type = avio_rl32(pb); > >> @@ -7340,6 +7341,10 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) > >> a.type = MKTAG('m','o','o','v'); > >> } > >> } > >> + if (a.type == MKTAG('h','o','o','v') && > >> + c->fc->strict_std_compliance >= FF_COMPLIANCE_NORMAL) > >> + av_log(c->fc, AV_LOG_INFO, > >> + "Skip hoov atom, try decrease -strict if moov doesn't exist.\n"); > >> if (atom.type != MKTAG('r','o','o','t') && > >> atom.type != MKTAG('m','o','o','v')) { > >> if (a.type == MKTAG('t','r','a','k') || > >> -- > >> 2.31.1 > >> > >> _______________________________________________ > >> ffmpeg-devel mailing list > >> ffmpeg-devel@ffmpeg.org > >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >> > >> To unsubscribe, visit link above, or email > >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > >> > > > > Thanks > > > > Steven Liu > > > >> 2021年12月24日 下午5:58,Zhao Zhili <quinkblack@foxmail.com> 写道: > >> > >> The samples I have got have hoov and moov both. Unknown boxes > >> should be skipped according to the spec. So don't treat hoov as > >> moov in normal mode. > >> > >> For backward compatible, a log message has been added to notice > >> the user to relax the striction if moov doesn't exist. > >> > >> Fix #8883. > >> --- > >> libavformat/mov.c | 13 +++++++++---- > >> 1 file changed, 9 insertions(+), 4 deletions(-) > >> > >> diff --git a/libavformat/mov.c b/libavformat/mov.c > >> index ea2f010aa0..63483740a0 100644 > >> --- a/libavformat/mov.c > >> +++ b/libavformat/mov.c > >> @@ -7324,10 +7324,11 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) > >> if (atom.size >= 8) { > >> a.size = avio_rb32(pb); > >> a.type = avio_rl32(pb); > >> - if (((a.type == MKTAG('f','r','e','e') && c->moov_retry) || > >> - a.type == MKTAG('h','o','o','v')) && > >> - a.size >= 8 && > >> - c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) { > >> + if (((a.type == MKTAG('f','r','e','e') && c->moov_retry && > >> + c->fc->strict_std_compliance < FF_COMPLIANCE_STRICT) || > >> + (a.type == MKTAG('h','o','o','v') && > >> + c->fc->strict_std_compliance < FF_COMPLIANCE_NORMAL)) && > >> + a.size >= 8) { > > > > I prefer add one option ignore_hoov, let user choose ignore it, because it should more clearly than use stirct. > >> uint32_t type; > >> avio_skip(pb, 4); > >> type = avio_rl32(pb); > >> @@ -7340,6 +7341,10 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) > >> a.type = MKTAG('m','o','o','v'); > >> } > >> } > >> + if (a.type == MKTAG('h','o','o','v') && > >> + c->fc->strict_std_compliance >= FF_COMPLIANCE_NORMAL) > >> + av_log(c->fc, AV_LOG_INFO, > >> + "Skip hoov atom, try decrease -strict if moov doesn't exist.\n"); > >> if (atom.type != MKTAG('r','o','o','t') && > >> atom.type != MKTAG('m','o','o','v')) { > >> if (a.type == MKTAG('t','r','a','k') || > >> -- > >> 2.31.1 > >> > >> _______________________________________________ > >> ffmpeg-devel mailing list > >> ffmpeg-devel@ffmpeg.org > >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >> > >> To unsubscribe, visit link above, or email > >> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > >> > > > > Thanks > > > > Steven Liu > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". Thanks Steven _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal 2021-12-24 10:46 ` Steven Liu @ 2021-12-24 19:08 ` Derek Buitenhuis 2021-12-25 8:49 ` "zhilizhao(赵志立)" 0 siblings, 1 reply; 9+ messages in thread From: Derek Buitenhuis @ 2021-12-24 19:08 UTC (permalink / raw) To: ffmpeg-devel On 12/24/2021 10:46 AM, Steven Liu wrote: > I think about ignore hoov should not default, because it use hoov > default before. I agree - we (Vimeo) get a ton of hoov files with no moov or broken moov - much more than files with hoov and valid moov (I've never seen any). This would be quite a breaking change. > We should attention users pay attention about this change maybe do it > like deprecate warning. Just waning need change default it ignore hoov > and use moov. +1 > But I’m not sure ignore hoov is correct, because not sure user have > the sample file which only have one hoov and have no moov atom in the > files. We have a lot of files with only hoov. - Derek _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal 2021-12-24 19:08 ` Derek Buitenhuis @ 2021-12-25 8:49 ` "zhilizhao(赵志立)" 0 siblings, 0 replies; 9+ messages in thread From: "zhilizhao(赵志立)" @ 2021-12-25 8:49 UTC (permalink / raw) To: FFmpeg development discussions and patches > On Dec 25, 2021, at 3:08 AM, Derek Buitenhuis <derek.buitenhuis@gmail.com> wrote: > > On 12/24/2021 10:46 AM, Steven Liu wrote: >> I think about ignore hoov should not default, because it use hoov >> default before. > > I agree - we (Vimeo) get a ton of hoov files with no moov or broken moov - > much more than files with hoov and valid moov (I've never seen any). This > would be quite a breaking change. The second version should works for both case: with only hoov and with both box types. Please review. http://ffmpeg.org/pipermail/ffmpeg-devel/2021-December/290378.html > >> We should attention users pay attention about this change maybe do it >> like deprecate warning. Just waning need change default it ignore hoov >> and use moov. > > +1 > >> But I’m not sure ignore hoov is correct, because not sure user have >> the sample file which only have one hoov and have no moov atom in the >> files. > > We have a lot of files with only hoov. > > - Derek > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* [FFmpeg-devel] [PATCH 3/3] avformat/mov: remove always false condtion [not found] <20211224095823.58415-1-quinkblack@foxmail.com> 2021-12-24 9:58 ` [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal Zhao Zhili @ 2021-12-24 9:58 ` Zhao Zhili 2021-12-24 10:22 ` Steven Liu 1 sibling, 1 reply; 9+ messages in thread From: Zhao Zhili @ 2021-12-24 9:58 UTC (permalink / raw) To: ffmpeg-devel; +Cc: Zhao Zhili 203b0e35 made duration unsigned. --- libavformat/mov.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 63483740a0..636cfce400 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -3972,17 +3972,6 @@ static void mov_build_index(MOVContext *mov, AVStream *st) current_offset += sample_size; stream_size += sample_size; - - /* A negative sample duration is invalid based on the spec, - * but some samples need it to correct the DTS. */ - if (sc->stts_data[stts_index].duration < 0) { - av_log(mov->fc, AV_LOG_WARNING, - "Invalid SampleDelta %d in STTS, at %d st:%d\n", - sc->stts_data[stts_index].duration, stts_index, - st->index); - dts_correction += sc->stts_data[stts_index].duration - 1; - sc->stts_data[stts_index].duration = 1; - } current_dts += sc->stts_data[stts_index].duration; if (!dts_correction || current_dts + dts_correction > last_dts) { current_dts += dts_correction; -- 2.31.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH 3/3] avformat/mov: remove always false condtion 2021-12-24 9:58 ` [FFmpeg-devel] [PATCH 3/3] avformat/mov: remove always false condtion Zhao Zhili @ 2021-12-24 10:22 ` Steven Liu 2021-12-24 11:13 ` Gyan Doshi 0 siblings, 1 reply; 9+ messages in thread From: Steven Liu @ 2021-12-24 10:22 UTC (permalink / raw) To: FFmpeg development discussions and patches; +Cc: Steven Liu, Zhao Zhili > 2021年12月24日 下午5:58,Zhao Zhili <quinkblack@foxmail.com> 写道: > > 203b0e35 made duration unsigned. > --- > libavformat/mov.c | 11 ----------- > 1 file changed, 11 deletions(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 63483740a0..636cfce400 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -3972,17 +3972,6 @@ static void mov_build_index(MOVContext *mov, AVStream *st) > > current_offset += sample_size; > stream_size += sample_size; > - > - /* A negative sample duration is invalid based on the spec, > - * but some samples need it to correct the DTS. */ > - if (sc->stts_data[stts_index].duration < 0) { > - av_log(mov->fc, AV_LOG_WARNING, > - "Invalid SampleDelta %d in STTS, at %d st:%d\n", > - sc->stts_data[stts_index].duration, stts_index, > - st->index); > - dts_correction += sc->stts_data[stts_index].duration - 1; > - sc->stts_data[stts_index].duration = 1; > - } > current_dts += sc->stts_data[stts_index].duration; > if (!dts_correction || current_dts + dts_correction > last_dts) { > current_dts += dts_correction; > -- > 2.31.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > Yes, this is a warning when compiling the mov.o module, but not sure if the duration is unsigned can small than 0, Because there have some way about unsigned int use way,not sure it corect or not: Eg. unsigned int example = -1; Thanks Steven Liu _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH 3/3] avformat/mov: remove always false condtion 2021-12-24 10:22 ` Steven Liu @ 2021-12-24 11:13 ` Gyan Doshi 0 siblings, 0 replies; 9+ messages in thread From: Gyan Doshi @ 2021-12-24 11:13 UTC (permalink / raw) To: ffmpeg-devel On 2021-12-24 03:52 pm, Steven Liu wrote: > >> 2021年12月24日 下午5:58,Zhao Zhili <quinkblack@foxmail.com> 写道: >> >> 203b0e35 made duration unsigned. >> --- >> libavformat/mov.c | 11 ----------- >> 1 file changed, 11 deletions(-) >> >> diff --git a/libavformat/mov.c b/libavformat/mov.c >> index 63483740a0..636cfce400 100644 >> --- a/libavformat/mov.c >> +++ b/libavformat/mov.c >> @@ -3972,17 +3972,6 @@ static void mov_build_index(MOVContext *mov, AVStream *st) >> >> current_offset += sample_size; >> stream_size += sample_size; >> - >> - /* A negative sample duration is invalid based on the spec, >> - * but some samples need it to correct the DTS. */ >> - if (sc->stts_data[stts_index].duration < 0) { >> - av_log(mov->fc, AV_LOG_WARNING, >> - "Invalid SampleDelta %d in STTS, at %d st:%d\n", >> - sc->stts_data[stts_index].duration, stts_index, >> - st->index); >> - dts_correction += sc->stts_data[stts_index].duration - 1; >> - sc->stts_data[stts_index].duration = 1; >> - } >> current_dts += sc->stts_data[stts_index].duration; >> if (!dts_correction || current_dts + dts_correction > last_dts) { >> current_dts += dts_correction; >> -- >> 2.31.1 This is due to a recent change I made to the type of stts duration. There is a pending patch to replace this check with a check in mov_read_stts, so ignore the warning for now. Thanks, Gyan _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-12-25 8:50 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20211224095823.58415-1-quinkblack@foxmail.com> 2021-12-24 9:58 ` [FFmpeg-devel] [PATCH 2/3] avformat/mov: skip hoov box if strict >= normal Zhao Zhili 2021-12-24 10:19 ` Steven Liu 2021-12-24 10:37 ` "zhilizhao(赵志立)" 2021-12-24 10:46 ` Steven Liu 2021-12-24 19:08 ` Derek Buitenhuis 2021-12-25 8:49 ` "zhilizhao(赵志立)" 2021-12-24 9:58 ` [FFmpeg-devel] [PATCH 3/3] avformat/mov: remove always false condtion Zhao Zhili 2021-12-24 10:22 ` Steven Liu 2021-12-24 11:13 ` Gyan Doshi
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git