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 #pragma GCC visibility push(default) 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif /* __cplusplus */ 00035 00036 #define LQT_COLR_NCLC 0x6E636C63 00037 #define LQT_COLR_PROF 0x70726F66 00038 00039 /* Fine tuning of quicktime atoms. Use with caution */ 00040 00068 int lqt_set_fiel(quicktime_t *file, int track, int nfields, int dominance); 00069 00085 int lqt_get_fiel(quicktime_t *file, int track, int *nfields, int *dominance); 00086 00087 /* pasp atom */ 00088 00092 typedef struct 00093 { 00095 int32_t hSpacing; 00097 int32_t vSpacing; 00098 } quicktime_pasp_t; 00099 00107 int lqt_set_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp); 00108 00116 int lqt_get_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp); 00117 00121 typedef struct 00122 { 00124 int32_t cleanApertureWidthN; 00126 int32_t cleanApertureWidthD; 00128 int32_t cleanApertureHeightN; 00130 int32_t cleanApertureHeightD; 00132 int32_t horizOffN; 00134 int32_t horizOffD; 00136 int32_t vertOffN; 00138 int32_t vertOffD; 00139 } quicktime_clap_t; 00140 00154 int lqt_set_clap(quicktime_t *file, int track, quicktime_clap_t *clap); 00155 00170 int lqt_get_clap(quicktime_t *file, int track, quicktime_clap_t *clap); 00171 00175 typedef struct 00176 { 00178 int32_t colorParamType; 00180 int16_t primaries; 00182 int16_t transferFunction; 00184 int16_t matrix; 00185 } quicktime_colr_t; 00186 00200 int lqt_set_colr(quicktime_t *file, int track, quicktime_colr_t *colr); 00201 00215 int lqt_get_colr(quicktime_t *file, int track, quicktime_colr_t *colr); 00216 00217 #ifdef __cplusplus 00218 } 00219 #endif /* __cplusplus */ 00220 00221 #pragma GCC visibility pop 00222 00223 #endif /* _LQT_ATOMS_H_ */