diff options
author | Moonchild <mcwerewolf@gmail.com> | 2018-04-27 19:15:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-27 19:15:26 +0200 |
commit | c75dae3ed21bfa5a8ae46cd83d18329af5bea05a (patch) | |
tree | ef657c38feb2368a3c86765778d1f068aa5eb614 /media/ffvpx/libavutil/display.c | |
parent | c82c6d960a7f19d6595171f9705c43514f20c1ec (diff) | |
parent | 6ada4b14e4cfc91f5f1b2556623cab691f3ab813 (diff) | |
download | UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.gz UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.lz UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.tar.xz UXP-c75dae3ed21bfa5a8ae46cd83d18329af5bea05a.zip |
Merge pull request #275 from trav90/ffvpx-resync
Resync ffvpx code with 3.4.2-release from upstream
Diffstat (limited to 'media/ffvpx/libavutil/display.c')
-rw-r--r-- | media/ffvpx/libavutil/display.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/media/ffvpx/libavutil/display.c b/media/ffvpx/libavutil/display.c deleted file mode 100644 index a0076e067..000000000 --- a/media/ffvpx/libavutil/display.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2014 Vittorio Giovara <vittorio.giovara@gmail.com> - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include <stdint.h> -#include <string.h> -#include <math.h> - -#include "display.h" -#include "mathematics.h" - -// fixed point to double -#define CONV_FP(x) ((double) (x)) / (1 << 16) - -// double to fixed point -#define CONV_DB(x) (int32_t) ((x) * (1 << 16)) - -double av_display_rotation_get(const int32_t matrix[9]) -{ - double rotation, scale[2]; - - scale[0] = hypot(CONV_FP(matrix[0]), CONV_FP(matrix[3])); - scale[1] = hypot(CONV_FP(matrix[1]), CONV_FP(matrix[4])); - - if (scale[0] == 0.0 || scale[1] == 0.0) - return NAN; - - rotation = atan2(CONV_FP(matrix[1]) / scale[1], - CONV_FP(matrix[0]) / scale[0]) * 180 / M_PI; - - return -rotation; -} - -void av_display_rotation_set(int32_t matrix[9], double angle) -{ - double radians = -angle * M_PI / 180.0f; - double c = cos(radians); - double s = sin(radians); - - memset(matrix, 0, 9 * sizeof(int32_t)); - - matrix[0] = CONV_DB(c); - matrix[1] = CONV_DB(-s); - matrix[3] = CONV_DB(s); - matrix[4] = CONV_DB(c); - matrix[8] = 1 << 30; -} - -void av_display_matrix_flip(int32_t matrix[9], int hflip, int vflip) -{ - int i; - const int flip[] = { 1 - 2 * (!!hflip), 1 - 2 * (!!vflip), 1 }; - - if (hflip || vflip) - for (i = 0; i < 9; i++) - matrix[i] *= flip[i % 3]; -} |