On Thu, Mar 29, 2018 at 09:45:13AM +0300, Timo Teräs wrote: > Fixes https://trac.ffmpeg.org/ticket/2798 > > This makes movenc handle AV_DISPOSITION_ATTACHED_PIC and write > the associated pictures in iTunes cover atom. This corresponds > to how 'mov' demuxer parses and exposes the cover images when > reading. > > Tested to produce valid stream with: > ffmpeg -i movie.mp4 -i thumb.jpg -disposition:v:1 attached_pic > -map 0 -map 1 -c copy out.mp4 > > The cover image is also copied corretly with: > ffmpeg -i movie.mp4 -map 0 -c copy out.mp4 > > AtomicParseley says that the attached_pic stream is properly > not visible in the main tracks of the file. Though, I am not > sure if there's any side-effects of having internal stream > without any packets. We may need to arm the mov muxer with > additional checks for streams without any packets. > > It may make sense to move the code in mov_write_packet() that > grabs the attached picture to generic code in mux.c. Seems there's > currently no other muxer supporting cover images than mp3 and > it seems to use special code to handle them. > > Signed-off-by: Timo Teräs <[email protected]> > Cc: Matthieu Bouron <[email protected]> > --- > fftools/ffmpeg.c | 1 + > libavformat/movenc.c | 67 > ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 68 insertions(+) [...]
> @@ -3451,6 +3499,7 @@ static int mov_write_ilst_tag(AVIOContext *pb,
> MOVMuxContext *mov,
> mov_write_int8_metadata (s, pb, "hdvd", "hd_video", 1);
> mov_write_int8_metadata (s, pb, "pgap", "gapless_playback",1);
> mov_write_int8_metadata (s, pb, "cpil", "compilation", 1);
> + mov_write_covr(pb, s);
> mov_write_trkn_tag(pb, mov, s, 0); // track number
> mov_write_trkn_tag(pb, mov, s, 1); // disc number
> mov_write_tmpo_tag(pb, s);
> @@ -5480,6 +5529,24 @@ static int mov_write_packet(AVFormatContext *s,
> AVPacket *pkt)
> if (!pkt) {
> mov_flush_fragment(s, 1);
> return 1;
> + } if (s->streams[pkt->stream_index]->disposition &
> AV_DISPOSITION_ATTACHED_PIC) {
The if() should be in the next line or it should be a else if
it looks like someone forgot a "else" even though it makes no
difference here.
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I do not agree with what you have to say, but I'll defend to the death your
right to say it. -- Voltaire
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
