| FFmpeg
    | 
#include <stdio.h>#include <stdlib.h>#include <time.h>#include "libavutil/channel_layout.h"#include "libavutil/intreadwrite.h"#include "libavutil/log.h"#include "libavutil/opt.h"#include "libavutil/time_internal.h"#include "avformat.h"#include "internal.h"Go to the source code of this file.
| Data Structures | |
| struct | sbg_demuxer | 
| struct | sbg_string | 
| struct | sbg_fade | 
| struct | sbg_timestamp | 
| struct | sbg_script_definition | 
| struct | sbg_script_synth | 
| struct | sbg_script_tseq | 
| struct | sbg_script_event | 
| struct | sbg_script | 
| struct | sbg_parser | 
| struct | ws_interval | 
| struct | ws_intervals | 
| Macros | |
| #define | SBG_SCALE (1 << 16) | 
| #define | DAY (24 * 60 * 60) | 
| #define | DAY_TS ((int64_t)DAY * AV_TIME_BASE) | 
| #define | FORWARD_ERROR(c) | 
| #define | ADD_EDATA32(v) do { AV_WL32(edata, (v)); edata += 4; } while(0) | 
| #define | ADD_EDATA64(v) do { AV_WL64(edata, (v)); edata += 8; } while(0) | 
| Enumerations | |
| enum | sbg_fade_type { SBG_FADE_SILENCE = 0, SBG_FADE_SAME = 1, SBG_FADE_ADAPT = 3 } | 
| enum | sbg_synth_type { SBG_TYPE_NONE, SBG_TYPE_SINE, SBG_TYPE_NOISE, SBG_TYPE_BELL, SBG_TYPE_MIX, SBG_TYPE_SPIN } | 
| enum | ws_interval_type { WS_SINE = MKTAG('S','I','N','E'), WS_NOISE = MKTAG('N','O','I','S'), WS_SINE = MKTAG('S','I','N','E'), WS_NOISE = MKTAG('N','O','I','S') } | 
| Functions | |
| static void * | alloc_array_elem (void **array, size_t elsize, int *size, int *max_size) | 
| static int | str_to_time (const char *str, int64_t *rtime) | 
| static int | is_space (char c) | 
| static int | scale_double (void *log, double d, double m, int *r) | 
| static int | lex_space (struct sbg_parser *p) | 
| static int | lex_char (struct sbg_parser *p, char c) | 
| static int | lex_double (struct sbg_parser *p, double *r) | 
| static int | lex_fixed (struct sbg_parser *p, const char *t, int l) | 
| static int | lex_line_end (struct sbg_parser *p) | 
| static int | lex_wsword (struct sbg_parser *p, struct sbg_string *rs) | 
| static int | lex_name (struct sbg_parser *p, struct sbg_string *rs) | 
| static int | lex_time (struct sbg_parser *p, int64_t *rt) | 
| static int | parse_immediate (struct sbg_parser *p) | 
| static int | parse_preprogrammed (struct sbg_parser *p) | 
| static int | parse_optarg (struct sbg_parser *p, char o, struct sbg_string *r) | 
| static int | parse_options (struct sbg_parser *p) | 
| static int | parse_timestamp (struct sbg_parser *p, struct sbg_timestamp *rts, int64_t *rrel) | 
| static int | parse_fade (struct sbg_parser *p, struct sbg_fade *fr) | 
| static int | parse_time_sequence (struct sbg_parser *p, int inblock) | 
| static int | parse_wave_def (struct sbg_parser *p, int wavenum) | 
| static int | parse_block_def (struct sbg_parser *p, struct sbg_script_definition *def) | 
| static int | parse_volume (struct sbg_parser *p, int *vol) | 
| static int | parse_synth_channel_sine (struct sbg_parser *p, struct sbg_script_synth *synth) | 
| static int | parse_synth_channel_pink (struct sbg_parser *p, struct sbg_script_synth *synth) | 
| static int | parse_synth_channel_bell (struct sbg_parser *p, struct sbg_script_synth *synth) | 
| static int | parse_synth_channel_mix (struct sbg_parser *p, struct sbg_script_synth *synth) | 
| static int | parse_synth_channel_spin (struct sbg_parser *p, struct sbg_script_synth *synth) | 
| static int | parse_synth_channel (struct sbg_parser *p) | 
| static int | parse_synth_def (struct sbg_parser *p, struct sbg_script_definition *def) | 
| static int | parse_named_def (struct sbg_parser *p) | 
| static void | free_script (struct sbg_script *s) | 
| static int | parse_script (void *log, char *script, int script_len, struct sbg_script *rscript) | 
| static int | read_whole_file (AVIOContext *io, int max_size, char **rbuf) | 
| static int | expand_timestamps (void *log, struct sbg_script *s) | 
| static int | expand_tseq (void *log, struct sbg_script *s, int *nb_ev_max, int64_t t0, struct sbg_script_tseq *tseq) | 
| static int | expand_script (void *log, struct sbg_script *s) | 
| static int | add_interval (struct ws_intervals *inter, enum ws_interval_type type, uint32_t channels, int ref, int64_t ts1, int32_t f1, int32_t a1, int64_t ts2, int32_t f2, int32_t a2) | 
| static int | add_bell (struct ws_intervals *inter, struct sbg_script *s, int64_t ts1, int64_t ts2, int32_t f, int32_t a) | 
| static int | generate_interval (void *log, struct sbg_script *s, struct ws_intervals *inter, int64_t ts1, int64_t ts2, struct sbg_script_synth *s1, struct sbg_script_synth *s2, int transition) | 
| static int | generate_plateau (void *log, struct sbg_script *s, struct ws_intervals *inter, struct sbg_script_event *ev1) | 
| static int | generate_transition (void *log, struct sbg_script *s, struct ws_intervals *inter, struct sbg_script_event *ev1, struct sbg_script_event *ev2) | 
| static int | generate_intervals (void *log, struct sbg_script *s, int sample_rate, struct ws_intervals *inter) | 
| static int | encode_intervals (struct sbg_script *s, AVCodecParameters *par, struct ws_intervals *inter) | 
| static av_cold int | sbg_read_probe (const AVProbeData *p) | 
| static av_cold int | sbg_read_header (AVFormatContext *avf) | 
| static int | sbg_read_packet (AVFormatContext *avf, AVPacket *packet) | 
| static int | sbg_read_seek2 (AVFormatContext *avf, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags) | 
| static int | sbg_read_seek (AVFormatContext *avf, int stream_index, int64_t ts, int flags) | 
| Variables | |
| static const AVOption | sbg_options [] | 
| static const AVClass | sbg_demuxer_class | 
| const AVInputFormat | ff_sbg_demuxer | 
| #define DAY_TS ((int64_t)DAY * AV_TIME_BASE) | 
| #define FORWARD_ERROR | ( | c | ) | 
| enum sbg_fade_type | 
| enum sbg_synth_type | 
| enum ws_interval_type | 
Definition at line 159 of file sbgdec.c.
Referenced by add_interval(), expand_tseq(), parse_named_def(), parse_synth_channel(), and parse_time_sequence().
| 
 | static | 
Definition at line 179 of file sbgdec.c.
Referenced by lex_time(), and parse_options().
| 
 | inlinestatic | 
Definition at line 207 of file sbgdec.c.
Referenced by lex_double(), lex_space(), and lex_wsword().
Definition at line 212 of file sbgdec.c.
Referenced by checkasm_check_av_tx(), parse_synth_channel_bell(), parse_synth_channel_sine(), parse_synth_channel_spin(), and parse_volume().
| 
 | static | 
Definition at line 224 of file sbgdec.c.
Referenced by lex_line_end(), lex_wsword(), parse_block_def(), parse_named_def(), parse_script(), parse_synth_def(), parse_time_sequence(), and parse_timestamp().
| 
 | static | 
Definition at line 233 of file sbgdec.c.
Referenced by parse_block_def(), parse_fade(), parse_named_def(), parse_options(), parse_synth_channel(), parse_timestamp(), and parse_volume().
| 
 | static | 
Definition at line 241 of file sbgdec.c.
Referenced by parse_synth_channel_bell(), parse_synth_channel_sine(), parse_synth_channel_spin(), and parse_volume().
| 
 | static | 
Definition at line 257 of file sbgdec.c.
Referenced by parse_synth_channel_bell(), parse_synth_channel_mix(), parse_synth_channel_pink(), parse_synth_channel_spin(), parse_time_sequence(), and parse_timestamp().
| 
 | static | 
Definition at line 265 of file sbgdec.c.
Referenced by parse_block_def(), parse_options(), parse_script(), parse_synth_def(), and parse_time_sequence().
| 
 | static | 
Definition at line 283 of file sbgdec.c.
Referenced by parse_optarg(), and parse_options().
| 
 | static | 
Definition at line 297 of file sbgdec.c.
Referenced by parse_named_def(), and parse_time_sequence().
| 
 | static | 
Definition at line 311 of file sbgdec.c.
Referenced by parse_timestamp().
| 
 | static | 
Definition at line 325 of file sbgdec.c.
Referenced by parse_options().
| 
 | static | 
Definition at line 332 of file sbgdec.c.
Referenced by parse_options().
| 
 | static | 
Definition at line 339 of file sbgdec.c.
Referenced by parse_options().
| 
 | static | 
Definition at line 349 of file sbgdec.c.
Referenced by parse_script().
| 
 | static | 
Definition at line 462 of file sbgdec.c.
Referenced by parse_time_sequence().
| 
 | static | 
Definition at line 495 of file sbgdec.c.
Referenced by parse_time_sequence().
| 
 | static | 
Definition at line 519 of file sbgdec.c.
Referenced by parse_block_def(), and parse_script().
| 
 | static | 
Definition at line 575 of file sbgdec.c.
Referenced by parse_named_def().
| 
 | static | 
Definition at line 582 of file sbgdec.c.
Referenced by parse_named_def().
| 
 | static | 
Definition at line 611 of file sbgdec.c.
Referenced by parse_synth_channel_bell(), parse_synth_channel_mix(), parse_synth_channel_pink(), parse_synth_channel_sine(), and parse_synth_channel_spin().
| 
 | static | 
Definition at line 624 of file sbgdec.c.
Referenced by parse_synth_channel().
| 
 | static | 
Definition at line 645 of file sbgdec.c.
Referenced by parse_synth_channel().
| 
 | static | 
Definition at line 658 of file sbgdec.c.
Referenced by parse_synth_channel().
| 
 | static | 
Definition at line 677 of file sbgdec.c.
Referenced by parse_synth_channel().
| 
 | static | 
Definition at line 690 of file sbgdec.c.
Referenced by parse_synth_channel().
| 
 | static | 
Definition at line 713 of file sbgdec.c.
Referenced by parse_synth_def().
| 
 | static | 
Definition at line 739 of file sbgdec.c.
Referenced by parse_named_def().
| 
 | static | 
Definition at line 763 of file sbgdec.c.
Referenced by parse_script().
| 
 | static | 
Definition at line 790 of file sbgdec.c.
Referenced by parse_script(), sbg_read_header(), and sbg_read_probe().
| 
 | static | 
Definition at line 800 of file sbgdec.c.
Referenced by sbg_read_header(), and sbg_read_probe().
| 
 | static | 
Definition at line 862 of file sbgdec.c.
Referenced by sbg_read_header().
| 
 | static | 
Definition at line 895 of file sbgdec.c.
Referenced by expand_script().
| 
 | static | 
Definition at line 955 of file sbgdec.c.
Referenced by expand_script().
| 
 | static | 
Definition at line 1004 of file sbgdec.c.
Referenced by sbg_read_header().
| 
 | static | 
Definition at line 1025 of file sbgdec.c.
Referenced by add_bell(), and generate_interval().
| 
 | static | 
Definition at line 1059 of file sbgdec.c.
Referenced by generate_interval().
| 
 | static | 
Definition at line 1087 of file sbgdec.c.
Referenced by generate_plateau(), and generate_transition().
| 
 | static | 
Definition at line 1166 of file sbgdec.c.
Referenced by generate_intervals().
| 
 | static | 
Definition at line 1195 of file sbgdec.c.
Referenced by generate_intervals().
| 
 | static | 
Definition at line 1281 of file sbgdec.c.
Referenced by sbg_read_header().
| 
 | static | 
Definition at line 1350 of file sbgdec.c.
Referenced by sbg_read_header().
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
Definition at line 1497 of file sbgdec.c.
Referenced by sbg_read_seek().
| 
 | static | 
| 
 | static | 
| 
 | static | 
| const AVInputFormat ff_sbg_demuxer | 
 1.8.17
 1.8.17