Here is the patchset for supporting mov rotation.
Two open questions up for discussion.
This value reports exclusively rotation angle, no horizontal or
vertical flip. While mov doesn't support reporting flipping (afaik, not sure
how to
interpret translateX/Y from the same atom) there might be other use for it.
Since
the rotation angle can fit 16 bits we could use the other 16 to store those,
however
it would be accessing the variable slighly more complex. Is it worth it?
The side data is added only *once*, that is at the beginning of the stream (and
consequently only at the first frame). I am not sure if the intended behaviour
of
having packet/frame side data is to have them repeated by frame. What would be
the right way?
The lavc/lavu patches are quite small, please tell me if I should squash them.
Cheers,
Vittorio
Vittorio Giovara (4):
mov: support exporting rotation angle as AVPacketSideData
avframe: add AV_FRAME_DATA_ROTATION side data
lavc: copy rotation angle from packet to frame
vf_showinfo: print rotation value
Changelog | 1 +
doc/APIchanges | 6 ++++++
libavcodec/avcodec.h | 6 ++++++
libavcodec/utils.c | 9 +++++++++
libavfilter/vf_showinfo.c | 4 ++++
libavformat/isom.h | 1 +
libavformat/mov.c | 28 ++++++++++++++++++++++++++++
libavutil/frame.h | 4 ++++
libavutil/version.h | 2 +-
9 files changed, 60 insertions(+), 1 deletion(-)
--
1.8.3.4 (Apple Git-47)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel