[FFmpeg-devel] [SCISYS Possible Spam] Re: [PATCH v4] Patch for memory optimization with QuickTime/MP4
Jörg Beckmann
Joerg.Beckmann at scisys.com
Mon Dec 9 14:59:21 EET 2019
> -----Ursprüngliche Nachricht-----
> Von: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> Im Auftrag von Moritz
> Barsnick
> Gesendet: Montag, 9. Dezember 2019 13:16
> An: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Betreff: [SCISYS Possible Spam] Re: [FFmpeg-devel] [PATCH v4] Patch for
> memory optimization with QuickTime/MP4
>
> On Mon, Dec 09, 2019 at 10:22:15 +0000, Jörg Beckmann wrote:
>
> Just some formal stuff:
>
> > Subject: Patch for memory optimization with QuickTime/MP4
>
> This subject should be created by the actual patch, because, they way you
> submitted it, it will be used for pushing.
>
> Or you create your patch with "git format-patch" and attach it, then the actual
> subject of the e-mail doesn't matter. Or "git send-email"
> will format the subject for you, assuming you put the correct text into your commit
> message:
>
> That said, the commit message should be introduced with a one-liner with a
> module prefix, such as:
>
> avformat/mov: memory optimization with QuickTime/MP4
>
> (I think it should be "for", not "with", but that's up to you in the first step.)
>
> Then an empty line, then the remaining text. No need to mention "patch"
> anywhere in the commit message, because it's obvious that a commit corresponds
> to a patch.
>
> > The last patch mail seems to be lost in space. Therefore here the next try .
> >
> > Cheers,
> > Jörg
>
> If you write this text here, it will be part of the pushed commit message. If you wish
> to add text to a patch sent with "git send-email", please add your additional text
> below the three-dash separator:
>
> > This patch invents a new option "discard_fragments" for the
> MP4/Quicktime/MOV decoder. If the option is not set, nothing changes at all. If it
> is set, old fragments are discarded as far as possible on each call to switch_root.
> For pure audio streams, the memory usage is now constant. For video streams,
> the memory usage is reduced. I've tested it with audio streams received from a
> professional DAB+ receiver and with video streams created on my own with
> "ffmpeg -i <video>.m4v -c:a:0 copy -c:v copy -c:s copy -f ismv -movflags
> frag_keyframe -movflags faststart tcp://localhost:1234?listen" and "ffmpeg -i
> tcp://localhost:1234 -c:a copy -c:v copy -c:s copy -y <output>".
> >
> > Signed-off-by: Jörg Beckmann <joerg.beckmann at scisys.com>
> > ---
>
> (Add your text in here.)
>
> You should also kindly wrap your commit message at ~80 characters, or perhaps
> 72.
Okay, I'll send it again.
>
> > + for (i = 0; i < mov->fc->nb_streams; i++) {
> > + if (mov->fc->streams[i]->id == frag->track_id) {
> > + st = mov->fc->streams[i];
> > + break;
> > + }
> > + }
> > +
> > + av_assert0(st);
>
> This can never happen? Or can it, with an illegally formatted file, but shouldn't? In
> the latter case, you would need to error out with "invalid data". (Just wondering, not
> critisizing.)
The assert() results from a discussion with Carl Eugen Hoyos. There was an error message before, but he suggested to replace it because it should not be possible.
> > + case AVMEDIA_TYPE_SUBTITLE:
> > + /* Freeing VIDEO tables leads to corrupted video when writing to eg.
> MKV */
> > + av_freep(&st->index_entries);
> > + st->nb_index_entries = 0;
>
> av_freep() NULLs for you.
>
> > + av_freep(&sc->ctts_data);
> > + sc->ctts_data = NULL;
>
> Ditto.
Oops, I forgot to change it here.
> > + {"discard_fragments",
> > + "Discards fragments after they have been read to support
> > + live streams.",
>
> Nit: I think these descriptions are imperatives, so drop the 's' from "Discards".
I think you're right.
>
> Cheers,
> Moritz
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email ffmpeg-devel-request at ffmpeg.org with
> subject "unsubscribe".
More information about the ffmpeg-devel
mailing list