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-2007 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 #pragma GCC visibility push(default)
00029 
00030 /* Fine tuning of quicktime atoms. Use with caution */
00031 
00059 int lqt_set_fiel(quicktime_t *file, int track, int nfields, int dominance);
00060 
00076 int lqt_get_fiel(quicktime_t *file, int track, int *nfields, int *dominance);
00077 
00078 /* pasp atom */
00079 
00083 typedef struct
00084 {
00086         int32_t hSpacing;
00088         int32_t vSpacing;
00089 } quicktime_pasp_t;
00090 
00098 int  lqt_set_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp);
00099 
00107 int  lqt_get_pasp(quicktime_t *file, int track, quicktime_pasp_t *pasp);
00108 
00112 typedef struct
00113 {
00115         int32_t cleanApertureWidthN;
00117         int32_t cleanApertureWidthD;
00119         int32_t cleanApertureHeightN;
00121         int32_t cleanApertureHeightD;
00123         int32_t horizOffN;
00125         int32_t horizOffD;
00127         int32_t vertOffN;
00129         int32_t vertOffD;
00130 } quicktime_clap_t;
00131 
00145 int  lqt_set_clap(quicktime_t *file, int track, quicktime_clap_t *clap);
00146 
00161 int  lqt_get_clap(quicktime_t *file, int track, quicktime_clap_t *clap);
00162 
00166 typedef struct
00167 {
00169         int32_t colorParamType;
00171         int16_t primaries;
00173         int16_t transferFunction;
00175         int16_t matrix;
00176 } quicktime_colr_t;
00177 
00191 int  lqt_set_colr(quicktime_t *file, int track, quicktime_colr_t *colr);
00192 
00206 int  lqt_get_colr(quicktime_t *file, int track, quicktime_colr_t *colr);
00207 
00208 #pragma GCC visibility pop
00209 
00210 #endif /* _LQT_ATOMS_H_ */

Generated on Sun Aug 30 13:05:26 2009 for libquicktime by  doxygen 1.6.1