libquicktime: /usr/ports/pobj/libquicktime-1.2.4/libquicktime-1.2.4/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-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_ */