[FFmpeg-devel] [PATCH] Extract rotation in MOV metadata

Baptiste Coudurier baptiste.coudurier at gmail.com
Fri Apr 8 21:58:12 CEST 2011


On 04/07/2011 05:39 PM, Dave Badia wrote:
> On Thu, Apr 7, 2011 at 7:27 PM, Baptiste Coudurier
> <baptiste.coudurier at gmail.com> wrote:
>> Hi Dave,
>>
>> On 4/7/11 5:31 AM, Dave Badia wrote:
>>> Hi Baptiste -
>>>
>>> On Tue, Apr 5, 2011 at 7:53 PM, Baptiste Coudurier
>>> <baptiste.coudurier at gmail.com> wrote:
>>>>
>>>> Set the metadata on AVStream, not AVFormatContext.
>>>>
>>>> Are you sure that the check is 100% correct for the rotation ?
>>>>
>>>> --
>>>> Baptiste COUDURIER
>>>> Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
>>>> FFmpeg maintainer                                  http://www.ffmpeg.org
>>>>
>>>
>>> Ok, new patch with metadata set on AVStream.  I'm quite sure the logic
>>> is correct as I have a couple of different samples from my iphone 4.
>>> I used dumpster to look at the raw matrix then integrated the code
>>> into ffmpeg and tested it in mythtv.
>>>
>>> Interrogate MOV metadata for orientation of video so that software can
>>> determine if the video needs to be rotated.
>>>
>>> Thanks
>>> Dave
>>>
>>> ---
>>>  libavformat/mov.c |    4 ++++
>>>  1 files changed, 4 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/libavformat/mov.c b/libavformat/mov.c
>>> index 23ba1d4..8745d60 100644
>>> --- a/libavformat/mov.c
>>> +++ b/libavformat/mov.c
>>> @@ -1907,6 +1907,10 @@ static int mov_read_tkhd(MOVContext *c,
>>> AVIOContext *pb, MOVAtom atom)
>>>      sc->width = width >> 16;
>>>      sc->height = height >> 16;
>>>
>>> +    if (display_matrix[0][0] == -65536 && display_matrix[1][1] == -65536) {
>>> +         av_metadata_set2(&st->metadata, "rotate", "180", 0);
>>> +    }
>>
>> Are you sure it's 180 ?
>>
>> --
>> Baptiste COUDURIER
>> Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
>> FFmpeg maintainer                                  http://www.ffmpeg.org
>>
> 
> Ah yes.. 180 as in 180 degrees that it needs to be rotated to be right
> side up.

Interesting, I've never seen this kind of file, I've seen plenty of 90
degrees rotation though. Do you have this kind of files ?

-- 
Baptiste COUDURIER
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org


More information about the ffmpeg-devel mailing list