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

Eric Buehl eric.buehl
Sun May 17 08:07:58 CEST 2009


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dynamic_frame_height_adjust_v3.patch
Type: application/octet-stream
Size: 2312 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090516/ceb30473/attachment.obj>



More information about the ffmpeg-devel mailing list