1 /***************************************************************** 2 * gmerlin - a general purpose multimedia framework and applications 3 * 4 * Copyright (c) 2001 - 2011 Members of the Gmerlin project 5 * gmerlin-general@lists.sourceforge.net 6 * http://gmerlin.sourceforge.net 7 * 8 * This program is free software: you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation, either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program. If not, see <http://www.gnu.org/licenses/>. 20 * *****************************************************************/ 21 22 typedef struct bg_colormatrix_s bg_colormatrix_t; 23 24 bg_colormatrix_t * bg_colormatrix_create(); 25 26 void bg_colormatrix_destroy(bg_colormatrix_t *); 27 28 void bg_colormatrix_set_rgba(bg_colormatrix_t *, float coeffs[4][5]); 29 void bg_colormatrix_set_yuva(bg_colormatrix_t *, float coeffs[4][5]); 30 31 void bg_colormatrix_set_rgb(bg_colormatrix_t *, float coeffs[3][4]); 32 void bg_colormatrix_set_yuv(bg_colormatrix_t *, float coeffs[3][4]); 33 34 /* Constants for flags */ 35 #define BG_COLORMATRIX_FORCE_ALPHA (1<<0) 36 37 void bg_colormatrix_init(bg_colormatrix_t *, 38 gavl_video_format_t * format, int flags, 39 gavl_video_options_t * opt); 40 41 void bg_colormatrix_process(bg_colormatrix_t *, 42 gavl_video_frame_t * frame); 43 44