lqt_atoms.h

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_ */
Generated on Wed May 12 03:47:39 2010 for libquicktime by  doxygen 1.6.3