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-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_ */
Generated on Thu Mar 8 22:27:04 2012 for libquicktime by  doxygen 1.6.3