[FFmpeg-devel] [PATCH][RFC] variable frame sizes

Michael Niedermayer michaelni
Wed May 20 15:12:03 CEST 2009


On Sat, May 16, 2009 at 11:07:58PM -0700, Eric Buehl wrote:
> On Sat, May 16, 2009 at 9:40 PM, Eric Buehl <eric.buehl at gmail.com> wrote:
> 
> > On Sat, May 16, 2009 at 2:40 AM, Michael Niedermayer <michaelni at gmx.at>wrote:
> >
> >> On Fri, May 15, 2009 at 09:47:00PM -0700, Eric Buehl wrote:
> >> > On Fri, May 15, 2009 at 7:46 PM, Michael Niedermayer <michaelni at gmx.at
> >> >wrote:
> >> >
> >> > > On Fri, May 15, 2009 at 04:44:14PM -0700, Eric Buehl wrote:
> >> > > > On Fri, May 15, 2009 at 3:49 AM, Michael Niedermayer <
> >> michaelni at gmx.at
> >> > > >wrote:
> >> > > >
> >> > > > > On Thu, May 14, 2009 at 04:04:57PM -0700, Eric Buehl wrote:
> >> > > > > > Hello,
> >> > > > > >
> >> > > > > > I submitted a bug a while back describing ffmpeg's failure to
> >> account
> >> > > for
> >> > > > > > varying frame sizes in a single file.
> >> > > > > > http://roundup.ffmpeg.org/roundup/ffmpeg/issue879  I have
> >> confirmed
> >> > > that
> >> > > > > the
> >> > > > > > sample referenced works as expected in mplayer so I do not
> >> believe it
> >> > > is
> >> > > > > a
> >> > > > > > problem with lavc/lavf.
> >> > > > >
> >> > > > > >  Attached is a patch that works for frames of
> >> > > > > > varying height (possible if interlacing options are mis-used)
> >> but it
> >> > > does
> >> > > > > > not account for changes in width.
> >> > > > >
> >> > > > > so its incomplete ...
> >> > > > >
> >> > > > > [...]
> >> > > > >
> >> > > > > >  ffmpeg.c |   20 ++++++++++++++++++++
> >> > > > > >  1 file changed, 20 insertions(+)
> >> > > > > > 726f5c891ba925ffb00806f43c935696105872ef
> >> > > > >  dynamic_frame_height_adjust.patch
> >> > > > > > Index: ffmpeg.c
> >> > > > > >
> >> ===================================================================
> >> > > > > > --- ffmpeg.c  (revision 18831)
> >> > > > > > +++ ffmpeg.c  (working copy)
> >> > > > > > @@ -923,6 +923,26 @@
> >> > > > > >      if (ost->video_resample) {
> >> > > > > >          padding_src = NULL;
> >> > > > > >          final_picture = &ost->pict_tmp;
> >> > > > > > +     if(ost->resample_height != ist->st->codec->height)
> >> > > > >
> >> > > > > tabs and as this is under if (ost->video_resample)
> >> > > > > i wonder if it works if thats false to begin with ...
> >> > > > >
> >> > > > >
> >> > > > > > +        {
> >> > > > >
> >> > > > > inconsistant { placement
> >> > > > >
> >> > > > > [...]
> >> > > > > --
> >> > > > > Michael     GnuPG fingerprint:
> >> 9FF2128B147EF6730BADF133611EC787040B0FAB
> >> > > > >
> >> > > > > Frequently ignored awnser#1 FFmpeg bugs should be sent to our
> >> > > bugtracker.
> >> > > > > User
> >> > > > > questions about the command line tools should be sent to the
> >> > > ffmpeg-user
> >> > > > > ML.
> >> > > > > And questions about how to use libav* should be sent to the
> >> libav-user
> >> > > ML.
> >> > > > >
> >> > > > > -----BEGIN PGP SIGNATURE-----
> >> > > > > Version: GnuPG v1.4.9 (GNU/Linux)
> >> > > > >
> >> > > > > iD8DBQFKDUioYR7HhwQLD6sRAr9nAJ45hYRJiRqxjsz1xAAP+Svzqp+3EgCaA8pO
> >> > > > > /DWK54Yie4eBCADbqVumAJM=
> >> > > > > =R+EA
> >> > > > > -----END PGP SIGNATURE-----
> >> > > >
> >> > > >
> >> > > > > _______________________________________________
> >> > > > > ffmpeg-devel mailing list
> >> > > > > ffmpeg-devel at mplayerhq.hu
> >> > > > > https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
> >> > > > >
> >> > > >
> >> > > >
> >> > > > Here is an updated patch.  I have add a more correct comparison
> >> (which
> >> > > > includes frame top/bottom bands) as well as formatting clean-up.  It
> >> also
> >> > > > checks for changes in width in the same fashion.
> >> > >
> >> > > i tried it with a 100x100 + 200x200 mpg concatenated, but it did not
> >> work
> >> > > just heavy artifacts
> >> > >
> >> > > [...]
> >> > > --
> >> > > Michael     GnuPG fingerprint:
> >> 9FF2128B147EF6730BADF133611EC787040B0FAB
> >> > >
> >> > > Democracy is the form of government in which you can choose your
> >> dictator
> >> > >
> >> > > -----BEGIN PGP SIGNATURE-----
> >> > > Version: GnuPG v1.4.9 (GNU/Linux)
> >> > >
> >> > > iD8DBQFKDij0YR7HhwQLD6sRAuwRAJ4ycSjn8ajfMyHg7vXdC7fDg+U8lACeI5Pf
> >> > > AeEgbvYibsIkk5TCybRYU9I=
> >> > > =H+W4
> >> > > -----END PGP SIGNATURE-----
> >> > >
> >> > > _______________________________________________
> >> > > ffmpeg-devel mailing list
> >> > > ffmpeg-devel at mplayerhq.hu
> >> > > https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
> >> > >
> >> >
> >> > I was not able to reproduce this as you describe with a 100x100 mpg
> >> catted
> >> > with a 200x200 mpg.  Can you send me your test file and/or the steps to
> >> > produce it?
> >>
> >> ./ffmpeg -i matrixbench_mpeg2.mpg -s 100x100 -t 1 m100100.mpg
> >> ./ffmpeg -i matrixbench_mpeg2.mpg -s 200x200 -t 1 m200200.mpg
> >> cat m100100.mpg m200200.mpg >m.mpg
> >> ./ffmpeg -i m.mpg n.mpg
> >>
> >> [...]
> >> --
> >> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> >>
> >> it is not once nor twice but times without number that the same ideas make
> >> their appearance in the world. -- Aristotle
> >>
> >> -----BEGIN PGP SIGNATURE-----
> >> Version: GnuPG v1.4.9 (GNU/Linux)
> >>
> >> iD8DBQFKDooGYR7HhwQLD6sRAkmKAKCHsxSw7rmBFAV+/aPZWNWd3tOOFACfeep/
> >> M28rhl94MsvtPESLjNyDLgY=
> >> =oNWX
> >> -----END PGP SIGNATURE-----
> >>
> >> _______________________________________________
> >> ffmpeg-devel mailing list
> >> ffmpeg-devel at mplayerhq.hu
> >> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
> >>
> >
> >
> > I understand now.  Correct, this does not touch the code path for the patch
> > I have written because resampling is not explicitly requested by using the
> > -s option.  However, the intent of this patch is only to ensure that when
> > resamping is requested, the output meets the requested frame size.  The
> > example you have given does not request resizing and I am not sure what the
> > correct functionality should be in this case.  Is this suitable for
> > integration as is?
> >
> > Eric
> >
> >
> Here is another update to account for left and right banding.

does the code also work if there are 2 or more video streams?


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090520/1d832814/attachment.pgp>



More information about the ffmpeg-devel mailing list