libquicktime
|
00001 /******************************************************************************* 00002 lqt_atoms.h 00003 00004 libquicktime - A library for reading and writing quicktime/avi/mp4 files. 00005 http://libquicktime.sourceforge.net 00006 00007 Copyright (C) 2002 Heroine Virtual Ltd. 00008 Copyright (C) 2002-2010 Members of the libquicktime project. 00009 00010 This library is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General Public License as published by the Free 00012 Software Foundation; either version 2.1 of the License, or (at your option) 00013 any later version. 00014 00015 This library is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 00018 details. 00019 00020 You should have received a copy of the GNU Lesser General Public License along 00021 with this library; if not, write to the Free Software Foundation, Inc., 51 00022 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00023 *******************************************************************************/ 00024 00025 #ifndef _LQT_ATOMS_H_ 00026 #define _LQT_ATOMS_H_ 00027 00028 00029 00030 #pragma GCC visibility push(default) 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif /* __cplusplus */ 00035 00036 /* Fine tuning of quicktime atoms. Use with caution */ 00037 00065 int lqt_set_fiel(quicktime_t *file, int track, int nfields, int dominance); 00066 00082 int lqt_get_fiel(quicktime_t *file, int track, int *nfields, int *dominance); 00083 00084 /* pasp atom */ 00085 00089 typedef struct 00090 { 00092 int32_t hSpacing; 00094 int32_t vSpacing; 00095 } quicktime_pasp_t; 00096 00104 int lqt_set_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp); 00105 00113 int lqt_get_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp); 00114 00118 typedef struct 00119 { 00121 int32_t cleanApertureWidthN; 00123 int32_t cleanApertureWidthD; 00125 int32_t cleanApertureHeightN; 00127 int32_t cleanApertureHeightD; 00129 int32_t horizOffN; 00131 int32_t horizOffD; 00133 int32_t vertOffN; 00135 int32_t vertOffD; 00136 } quicktime_clap_t; 00137 00151 int lqt_set_clap(quicktime_t *file, int track, quicktime_clap_t *clap); 00152 00167 int lqt_get_clap(quicktime_t *file, int track, quicktime_clap_t *clap); 00168 00172 typedef struct 00173 { 00175 int32_t colorParamType; 00177 int16_t primaries; 00179 int16_t transferFunction; 00181 int16_t matrix; 00182 } quicktime_colr_t; 00183 00197 int lqt_set_colr(quicktime_t *file, int track, quicktime_colr_t *colr); 00198 00212 int lqt_get_colr(quicktime_t *file, int track, quicktime_colr_t *colr); 00213 00214 #ifdef __cplusplus 00215 } 00216 #endif /* __cplusplus */ 00217 00218 #pragma GCC visibility pop 00219 00220 #endif /* _LQT_ATOMS_H_ */