libquicktime: /tmp/tgz/libquicktime-1.1.3/include/quicktime/lqt_atoms.h Source File

# 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
    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_ */