[FFmpeg-devel] [PATCH] avformat, ffmpeg: deprecate old rotation API

wm4 nfxjfg at googlemail.com
Thu Mar 23 08:26:23 EET 2017


On Wed, 22 Mar 2017 19:32:11 +0100
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Tue, Mar 21, 2017 at 08:42:58AM +0100, wm4 wrote:
> > The old "API" that signaled rotation as a metadata value has been
> > replaced by DISPLAYMATRIX side data quite a while ago.
> > 
> > There is no reason to make muxers/demuxers/API users support both. In
> > addition, the metadata API is dangerous, as user tags could "leak" into
> > it, creating unintended features or bugs.
> > 
> > Unfortunately, hacks have been added, that allow the user to override
> > rotation by setting metadata explicitly, e.g. via
> > 
> >   -metadata:s:v:0 rotate=0
> > 
> > See references to trac #4560. fate-filter-meta-4560-rotate0 tests this.
> > It's easier to adjust the hack for supporting it than arguing for its
> > removal, so ffmpeg CLI now explicitly catches this case, and essentially
> > replaces the "rotate" value with a display matrix side data. (It would
> > be easier for both user and implementation to create an explicit option
> > for rotation.)
> > 
> > When the code under FF_API_OLD_ROTATE_API is disabled, one FATE
> > reference file has to be updated (because "rotate" is not exported
> > anymore).
> > ---
> >  cmdutils.c            |  4 ++++
> >  ffmpeg.c              | 11 ++++++++---
> >  ffmpeg.h              |  1 +
> >  ffmpeg_opt.c          | 12 ++++++++----
> >  libavformat/mov.c     |  2 ++
> >  libavformat/movenc.c  |  4 ++++
> >  libavformat/version.h |  3 +++
> >  7 files changed, 30 insertions(+), 7 deletions(-)  
> 
> this breaks rotate handling
> 
> for example:
> ./ffmpeg -i ~/tickets/4012/IMG_4596.MOV  -t 0.5  test.mov
> ./ffplay test.mov
> is upside down
> 
> https://s.natalian.org/2014-10-07/IMG_4596.MOV
> 
> [...]
> 

With or without the FF_API symbol disabled?


More information about the ffmpeg-devel mailing list