[FFmpeg-devel] filtering based on exif information

Clément Bœsch u at pkh.me
Tue Nov 19 14:30:25 CET 2013


On Tue, Nov 19, 2013 at 02:03:31PM +0100, Jan Pohanka wrote:
[...]
> > We export some rotation metadata (the MOV demuxer does it), but we don't
> > yet honor them in the rotate/transpose filter. IIRC the current blocking
> > thing is because it's not transmitting the format/streams metadata to the
> > filters; it should probably done at init time in those filters.
> >
> 
> If I understand the sources correctly MOV demuxer adds metada to the
> metadata field of AVFormatContext structure or directly to AVStream.

To the AVStream yes. You can see them with something like:
  ./ffprobe -v 0 -of flat -show_entries stream_tags=rotate in.3gp
  streams.stream.0.tags.rotate="90"

(look for "rotate" in libavformat/mov.c)

> So I need to do something similar for MJPEG decoder in my case.

I see libavcodec/exif.c and a dependency on it for mjpeg:
  configure:mjpeg_decoder_select="dsputil hpeldsp exif"

So it might already be exported, but better check.

> I do not understand yet how I can access these data in libavfilter but
> I will find something

Look at how a filter is initialized (libavfilter/avfilter.c,
avfilter_init_dict()). You can probably transmit the metadata dictionary
as well (by merging with the options dict or something).

> Is there more than image buffer in current
> implementation?

?

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20131119/065cd197/attachment.asc>


More information about the ffmpeg-devel mailing list