codecs: Move bitrate updater codes into proper places.
[L-SMASH.git] / codecs / description.h
blobe418079967844f851c4bc8e3a9ae0d36162d522b
1 /*****************************************************************************
2 * description.h:
3 *****************************************************************************
4 * Copyright (C) 2012-2015 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 int isom_setup_visual_description
41 isom_stsd_t *stsd,
42 lsmash_codec_type_t sample_type,
43 lsmash_video_summary_t *summary
46 int isom_setup_audio_description
48 isom_stsd_t *stsd,
49 lsmash_codec_type_t sample_type,
50 lsmash_audio_summary_t *summary
53 int isom_setup_tx3g_description
55 isom_stsd_t *stsd,
56 lsmash_summary_t *summary
59 lsmash_summary_t *isom_create_video_summary_from_description
61 isom_sample_entry_t *sample_entry
64 lsmash_summary_t *isom_create_audio_summary_from_description
66 isom_sample_entry_t *sample_entry
69 int isom_compare_opaque_extensions
71 lsmash_summary_t *a,
72 lsmash_summary_t *b
75 int isom_get_implicit_qt_fixed_comp_audio_sample_quants
77 isom_audio_entry_t *audio,
78 uint32_t *samples_per_packet,
79 uint32_t *constant_bytes_per_frame,
80 uint32_t *sample_size
83 isom_bitrate_updater_t isom_get_bitrate_updater
85 isom_sample_entry_t *sample_entry