avpacket: fix copying side data in av_packet_copy_props()

Side data count is incremented by by calling av_packet_new_side_data()
in the following loop, setting it explicitly results in the resulting
value being twice what it should be.

CC: libav-stable@libav.org
pthread_frame: simplify the code by using new AVPacket API

This also handles side data properly.
Add transformation matrix API.

Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.

Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
mov: store display matrix in a stream side data

Signed-off-by: Anton Khirnov <anton@khirnov.net>