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-2011 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 #ifdef __GNUC__ 00031 #pragma GCC visibility push(default) 00032 #endif 00033 00034 #ifdef __cplusplus 00035 extern "C" { 00036 #endif /* __cplusplus */ 00037 00038 #define LQT_COLR_NCLC 0x6E636C63 00039 #define LQT_COLR_PROF 0x70726F66 00040 00041 /* Fine tuning of quicktime atoms. Use with caution */ 00042 00070 int lqt_set_fiel(quicktime_t *file, int track, int nfields, int dominance); 00071 00087 int lqt_get_fiel(quicktime_t *file, int track, int *nfields, int *dominance); 00088 00089 /* pasp atom */ 00090 00094 typedef struct 00095 { 00097 int32_t hSpacing; 00099 int32_t vSpacing; 00100 } quicktime_pasp_t; 00101 00109 int lqt_set_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp); 00110 00118 int lqt_get_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp); 00119 00123 typedef struct 00124 { 00126 int32_t cleanApertureWidthN; 00128 int32_t cleanApertureWidthD; 00130 int32_t cleanApertureHeightN; 00132 int32_t cleanApertureHeightD; 00134 int32_t horizOffN; 00136 int32_t horizOffD; 00138 int32_t vertOffN; 00140 int32_t vertOffD; 00141 } quicktime_clap_t; 00142 00156 int lqt_set_clap(quicktime_t *file, int track, quicktime_clap_t *clap); 00157 00172 int lqt_get_clap(quicktime_t *file, int track, quicktime_clap_t *clap); 00173 00177 typedef struct 00178 { 00180 int32_t colorParamType; 00182 int16_t primaries; 00184 int16_t transferFunction; 00186 int16_t matrix; 00187 } quicktime_colr_t; 00188 00202 int lqt_set_colr(quicktime_t *file, int track, quicktime_colr_t *colr); 00203 00217 int lqt_get_colr(quicktime_t *file, int track, quicktime_colr_t *colr); 00218 00219 #ifdef __cplusplus 00220 } 00221 #endif /* __cplusplus */ 00222 00223 #ifdef __GNUC__ 00224 #pragma GCC visibility pop 00225 #endif 00226 00227 #endif /* _LQT_ATOMS_H_ */