29 #define CONV_FP(x) ((double) (x)) / (1 << 16) 
   32 #define CONV_DB(x) (int32_t) ((x) * (1 << 16)) 
   36     double rotation, scale[2];
 
   41     if (scale[0] == 0.0 || scale[1] == 0.0)
 
   44     rotation = atan2(
CONV_FP(matrix[1]) / scale[1],
 
   52     double radians = -angle * 
M_PI / 180.0f;
 
   53     double c = cos(radians);
 
   54     double s = sin(radians);
 
   56     memset(matrix, 0, 9 * 
sizeof(
int32_t));
 
   68     const int flip[] = { 1 - 2 * (!!hflip), 1 - 2 * (!!vflip), 1 };
 
   71         for (i = 0; i < 9; i++)
 
   72             matrix[i] *= flip[i % 3];
 
void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip)
Flip the input matrix horizontally and/or vertically. 
 
void av_display_rotation_set(int32_t matrix[9], double angle)
Initialize a transformation matrix describing a pure counterclockwise rotation by the specified angle...
 
static void flip(AVCodecContext *avctx, AVFrame *frame)
 
static av_const double hypot(double x, double y)
 
double av_display_rotation_get(const int32_t matrix[9])
Extract the rotation component of the transformation matrix.