On Thu, May 31, 2018 at 10:11:38AM +0000, Eran Kornblau wrote:
> > 
> > -----Original Message-----
> > From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of 
> > Eran Kornblau
> > Sent: Friday, May 25, 2018 4:40 PM
> > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
> > Subject: [FFmpeg-devel] qt-faststart bug near 4GB
> > 
> > Hi all,
> > 
> > We encountered a rather extreme edge case with qt-faststart - we transcoded 
> > some video with ffmpeg, and the offset of the last video frame in the 
> > resulting mp4 was slightly less than 4GB.
> > Since it was less than 4GB, ffmpeg used an 'stco' atom and not a 'co64' 
> > atom.
> > When we ran qt-faststart on this file, it added the moov atom size to all 
> > offsets in the 'stco' atom, causing an overflow in the offsets of the 
> > frames close to the end of the file. The end of the video was therefore 
> > corrupt and could not be played.
> > I think the solution here is to 'upgrade' the 'stco' atom to 'co64' if such 
> > an edge case happens. However, looking at the code of qt-faststart, I see 
> > that it doesn't actually parse the atom tree, but rather looks for the 
> > strings 'stco' / 'co64'. Changing 'stco' to 'co64' requires updating the 
> > size of all the atom in which it's contained (moov, trak, mdia etc.) 
> > Therefore, such a change would probably be more of a rewrite of this 
> > utility than a patch, so wanted to check whether anyone has any thoughts on 
> > this before I start writing...
> > 
> Attaching the patch for this issue.
> As expected, it required significant changes... hope you will like it :)
> 
> Thanks!
> 
> Eran 

about the AV_WB* macros, i like them alot :)
but this seems not to apply cleanly:

Applying: qt-faststart - stco offset bug fix
Using index info to reconstruct a base tree...
M       tools/qt-faststart.c
Falling back to patching base and 3-way merge...
Auto-merging tools/qt-faststart.c
CONFLICT (content): Merge conflict in tools/qt-faststart.c
error: Failed to merge in the changes.
Patch failed at 0001 qt-faststart - stco offset bug fix
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Into a blind darkness they enter who follow after the Ignorance,
they as if into a greater darkness enter who devote themselves
to the Knowledge alone. -- Isha Upanishad

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to