jdzyzh / mp4v2

Automatically exported from code.google.com/p/mp4v2
Other
0 stars 0 forks source link

Many "suspect" atom sizes #91

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
Running any mp4v2 tool (mp4info, mp4tags, etc.) on almost any movie mp4 I 
generate using the current mp4box and x264 produces copious warnings about 
suspect atom sizes.

What is the expected output? What do you see instead?
No warnings are expected.  Instead many (apparently harmless) warnings are 
produced.  E.g.:
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": moov atom size 
4867764 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": trak atom size 
2625107 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": mdia atom size 
2624951 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": minf atom size 
2624856 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": stbl atom size 
2624792 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": stts atom size 
1035296 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": trak atom size 
1177801 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": mdia atom size 
1177701 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": minf atom size 
1177606 is suspect
mp4v2::impl::MP4Atom::Read: "Y:\Movies\CGI\Shrek (2001).mp4": stbl atom size 
1177546 is suspect

What version of the product are you using? On what operating system?
mp4v2 checked out using TortoiseSVN (Windows 7 64-bit) on April 2.  Older 
versions of mp4v2 produced no such warnings.

Please provide any additional information below.
The warnings appear harmless and the files (including any mp4v2 modifications) 
look and play correctly.  They are just somewhat disturbing and make me wonder 
if there is something wrong with my build process.

Original issue reported on code.google.com by CarlEd...@gmail.com on 13 Apr 2011 at 2:53

GoogleCodeExporter commented 8 years ago
dbyron0 added a new logging interface, so I suspect these are just new messages 
that you previously didn't see.  I don't think anything is wrong with your 
build process.  Hopefully he can take a look when he has a moment.  Thanks.

Original comment by kid...@gmail.com on 13 Apr 2011 at 3:20

GoogleCodeExporter commented 8 years ago
Before the logging changes I made, the code in question (from MP4Atom::Read in 
src/mp4atom.cpp) was:

    if (ATOMID(m_type) != 0 && m_size > 1000000) {
        VERBOSE_READ(GetVerbosity(),
                     printf("Warning: %s atom size %" PRIu64 " is suspect\n",
                            m_type, m_size));
    }

so the message makes me think it's a warning but VERBOSE_READ indicates it's 
less severe than that.

The current code is:

    if (ATOMID(m_type) != 0 && m_size > 1000000) {
        log.warningf("%s: \"%s\": %s atom size %" PRIu64 " is suspect", __FUNCTION__,
                     m_File.GetFilename().c_str(), m_type, m_size);
    }

Other instances of VERBOSE_READ became log.verbose1f so I can do that here as 
well.  I think I'll leave the word "warning" out of the message though.  Sound 
good?

Original comment by dbyr...@gmail.com on 13 Apr 2011 at 4:32

GoogleCodeExporter commented 8 years ago
Sounds good to me.  Would there be any handy way of only issuing 'suspect' 
message for atoms which almost never should be larger than a megabyte?

Original comment by CarlEd...@gmail.com on 13 Apr 2011 at 4:34

GoogleCodeExporter commented 8 years ago
I suppose but I don't know enough to say what atoms to warn for and what atoms 
are OK.  I think it's probably better for someone who knows more to write this 
patch but I'll help where I can.

Original comment by dbyr...@gmail.com on 13 Apr 2011 at 4:39

GoogleCodeExporter commented 8 years ago
warning --> verbose1f in r459.

Original comment by dbyr...@gmail.com on 13 Apr 2011 at 4:43