codecs: Add support of 'UQY2'.
[L-SMASH.git] / codecs / description.h
blobbe6741d9b3e348c09d991af1f42f6a0563d8d395
1 /*****************************************************************************
2 * description.h:
3 *****************************************************************************
4 * Copyright (C) 2012-2014 L-SMASH project
6 * Authors: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
8 * Permission to use, copy, modify, and/or distribute this software for any
9 * purpose with or without fee is hereby granted, provided that the above
10 * copyright notice and this permission notice appear in all copies.
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 *****************************************************************************/
21 /* This file is available under an ISC license. */
23 struct lsmash_codec_specific_list_tag
25 lsmash_entry_list_t list;
28 lsmash_codec_specific_t *isom_duplicate_codec_specific_data
30 lsmash_codec_specific_t *specific
33 lsmash_codec_specific_t *isom_get_codec_specific
35 lsmash_codec_specific_list_t *opaque,
36 lsmash_codec_specific_data_type type
39 uint8_t *isom_get_child_box_position
41 uint8_t *parent_data,
42 uint32_t parent_size,
43 lsmash_box_type_t child_type,
44 uint32_t *child_size
47 int isom_setup_visual_description
49 isom_stsd_t *stsd,
50 lsmash_codec_type_t sample_type,
51 lsmash_video_summary_t *summary
54 int isom_setup_audio_description
56 isom_stsd_t *stsd,
57 lsmash_codec_type_t sample_type,
58 lsmash_audio_summary_t *summary
61 int isom_setup_tx3g_description
63 isom_stsd_t *stsd,
64 lsmash_summary_t *summary
67 lsmash_summary_t *isom_create_video_summary_from_description
69 isom_sample_entry_t *sample_entry
72 lsmash_summary_t *isom_create_audio_summary_from_description
74 isom_sample_entry_t *sample_entry
77 int isom_compare_opaque_extensions
79 lsmash_summary_t *a,
80 lsmash_summary_t *b
83 int isom_get_implicit_qt_fixed_comp_audio_sample_quants
85 isom_audio_entry_t *audio,
86 uint32_t *samples_per_packet,
87 uint32_t *constant_bytes_per_frame,
88 uint32_t *sample_size