diff options
Diffstat (limited to 'libass/ass_priv.h')
-rw-r--r-- | libass/ass_priv.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/libass/ass_priv.h b/libass/ass_priv.h new file mode 100644 index 0000000..3ee2b45 --- /dev/null +++ b/libass/ass_priv.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com> + * + * This file is part of libass. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef LIBASS_PRIV_H +#define LIBASS_PRIV_H + +#include <stdint.h> + +typedef enum { + PST_UNKNOWN = 0, + PST_INFO, + PST_STYLES, + PST_EVENTS, + PST_FONTS +} ParserState; + +typedef enum { + SINFO_LANGUAGE = 1 << 0, + SINFO_PLAYRESX = 1 << 1, + SINFO_PLAYRESY = 1 << 2, + SINFO_TIMER = 1 << 3, + SINFO_WRAPSTYLE = 1 << 4, + SINFO_SCALEDBORDER = 1 << 5, + SINFO_COLOURMATRIX = 1 << 6, + SINFO_KERNING = 1 << 7, + // for legacy detection + GENBY_FFMPEG = 1 << 8 + // max 32 enumerators +} ScriptInfo; + +struct parser_priv { + ParserState state; + char *fontname; + char *fontdata; + int fontdata_size; + int fontdata_used; + + // contains bitmap of ReadOrder IDs of all read events + uint32_t *read_order_bitmap; + int read_order_elems; // size in uint32_t units of read_order_bitmap + int check_readorder; + + int enable_extensions; + + // tracks [Script Info] headers set by the script + uint32_t header_flags; +}; + +#endif /* LIBASS_PRIV_H */ |