[FFmpeg-devel] [PATCH] ffplay: support rotated video.
Don Moir
donmoir at comcast.net
Fri May 23 06:52:42 CEST 2014
----- Original Message -----
From: "Don Moir" <donmoir at comcast.net>
To: "FFmpeg development discussions and patches" <ffmpeg-devel at ffmpeg.org>
Sent: Friday, May 23, 2014 12:40 AM
Subject: Re: [FFmpeg-devel] [PATCH] ffplay: support rotated video.
On Thu, May 22, 2014 at 09:30:05PM +0200, Clément B?sch wrote:
> On Wed, May 21, 2014 at 05:18:30AM +0200, Michael Niedermayer wrote:
> > On Tue, May 20, 2014 at 07:54:05PM +0200, Clément B?sch wrote:
> > > On Fri, Apr 18, 2014 at 05:43:35PM -0400, Don Moir wrote:
> > > [...]
> > > > >+ if (autorotate) {
> > > > >+ AVDictionaryEntry *rotate_tag = av_dict_get(is->video_st->metadata, "rotate", NULL, 0);
> > > > >+ if (rotate_tag) {
> > > > >+ if (!strcmp(rotate_tag->value, "90")) {
> > > > >+ INSERT_FILT("transpose", "1");
> > > > >+ } else if (!strcmp(rotate_tag->value, "180")) {
> > > > >+ INSERT_FILT("hflip", NULL);
> > > > >+ INSERT_FILT("vflip", NULL);
> > > > >+ } else if (!strcmp(rotate_tag->value, "270")) {
> > > > >+ INSERT_FILT("transpose", "2");
> > > > >+ } else {
> > > > >+ INSERT_FILT("rotate", rotate_tag->value);
> > > > >+ }
> > > > >+ }
> > > > >+ }
> > > >
> > > > you might want to do this instead of stcmp. Catches values greater than 360 as well.
> > > >
> > > > int rotate = atoi(rotate_tag->value) % 360;
> > > >
> > >
> > > No I can't, it can be a floating value.
> >
> > fmod() could be used
> >
>
>> Right, but I'm not sure it would be more reliable/simple that what i'm
>> currently proposing.
>Not sure if it matters if its floating or not.
>atoi ("180.0") equates to 180 if that is what you are refering to.
>With what you have a filter gets inserted for anything your logic does not understand including zero rotate. doing a mod on it
>catches zero easily and anything >= 360. Probably not a big deal except the inserting of filter for possible zero rotate value.
I guess what you are saying it might be something like "90.5" or something. Could be one degree off. Not sure it would display where
someone would notice a one degree difference. Can it be radians and how would you know that?
Do you have a video with an odd rotate value ?
More information about the ffmpeg-devel
mailing list