[][src]Crate libass_sys

Structs

ASS_OverrideBits

\brief Style override options. See ass_set_selective_style_override_enabled() for details.

ass_event
ass_image
ass_library
ass_renderer
ass_style
ass_track
parser_priv
render_priv

Enums

ASS_DefaultFontProvider

\brief Default Font provider to load fonts in libass' database

ASS_Hinting
ASS_ShapingLevel

\brief Text shaping levels.

ASS_YCbCrMatrix

Support for (xy-)vsfilter mangled colors

ass_image__bindgen_ty_1
ass_track__bindgen_ty_1

Constants

ass_image_IMAGE_TYPE_CHARACTER
ass_image_IMAGE_TYPE_OUTLINE
ass_image_IMAGE_TYPE_SHADOW
ass_track_TRACK_TYPE_ASS
ass_track_TRACK_TYPE_SSA
ass_track_TRACK_TYPE_UNKNOWN

Functions

ass_add_font

\brief Add a memory font. \param library library handle \param name attachment name \param data binary font data \param data_size data size

ass_alloc_event

\brief Allocate new event. \param track track \return newly allocated event id

ass_alloc_style

\brief Allocate new style. \param track track \return newly allocated style id

ass_clear_fonts

\brief Remove all fonts stored in an ass_library object. \param library library handle

ass_flush_events

\brief Flush buffered events. \param track track

ass_fonts_update

\brief This is a stub and does nothing. Old documentation: Update/build font cache. This needs to be called if it was disabled when ass_set_fonts was set.

ass_free_event

\brief Delete an event. \param track track \param eid event id Deallocates event data. Does not modify track->n_events.

ass_free_style

\brief Delete a style. \param track track \param sid style id Deallocates style data. Does not modify track->n_styles.

ass_free_track

\brief Deallocate track and all its child objects (styles and events). \param track track to deallocate

ass_get_available_font_providers

\brief Get the list of available font providers. The output array is allocated with malloc and can be released with free(). If an allocation error occurs, size is set to (size_t)-1. \param priv library handle \param providers output, list of default providers (malloc'ed array) \param size output, number of providers \return list of available font providers (user owns the returned array)

ass_library_done

\brief Finalize the library \param priv library handle

ass_library_init

\brief Initialize the library. \return library handle or NULL if failed

ass_library_version

\brief Return the version of library. This returns the value LIBASS_VERSION was set to when the library was compiled. \return library version

ass_new_track

\brief Allocate a new empty track object. \param library handle \return pointer to empty track

ass_process_chunk

\brief Parse a chunk of subtitle stream data. A chunk contains exactly one event in Matroska format. See the Matroska specification for details. In later libass versions (since LIBASS_VERSION==0x01300001), using this function means you agree not to modify events manually, or using other functions manipulating the event list like ass_process_data(). If you do anyway, the internal duplicate checking might break. Calling ass_flush_events() is still allowed. \param track track \param data string to parse \param size length of data \param timecode starting time of the event (milliseconds) \param duration duration of the event (milliseconds)

ass_process_codec_private

\brief Parse Codec Private section of the subtitle stream, in Matroska format. See the Matroska specification for details. \param track target track \param data string to parse \param size length of data

ass_process_data

\brief Parse a chunk of subtitle stream data. \param track track \param data string to parse \param size length of data

ass_process_force_style

\brief Explicitly process style overrides for a track. \param track track handle

ass_read_file

\brief Read subtitles from file. \param library library handle \param fname file name \param codepage encoding (iconv format) \return newly allocated track

ass_read_memory

\brief Read subtitles from memory. \param library library handle \param buf pointer to subtitles text \param bufsize size of buffer \param codepage encoding (iconv format) \return newly allocated track

ass_read_styles

\brief Read styles from file into already initialized track. \param fname file name \param codepage encoding (iconv format) \return 0 on success

ass_render_frame

\brief Render a frame, producing a list of ASS_Image. \param priv renderer handle \param track subtitle track \param now video timestamp in milliseconds \param detect_change compare to the previous call and set to 1 if positions changed, or set to 2 if content changed.

ass_renderer_done

\brief Finalize the renderer. \param priv renderer handle

ass_renderer_init

\brief Initialize the renderer. \param priv library handle \return renderer handle or NULL if failed

ass_set_aspect_ratio

\brief Set aspect ratio parameters. This calls ass_set_pixel_aspect(priv, dar / sar). @deprecated New code should use ass_set_pixel_aspect(). \param priv renderer handle \param dar display aspect ratio (DAR), prescaled for output PAR \param sar storage aspect ratio (SAR)

ass_set_cache_limits

\brief Set hard cache limits. Do not set, or set to zero, for reasonable defaults.

ass_set_check_readorder

\brief Set whether the ReadOrder field when processing a packet with ass_process_chunk() should be used for eliminating duplicates. \param check_readorder 0 means do not try to eliminate duplicates; 1 means use the ReadOrder field embedded in the packet as unique identifier, and discard the packet if there was already a packet with the same ReadOrder. Other values are undefined. If this function is not called, the default value is 1.

ass_set_extract_fonts

\brief Whether fonts should be extracted from track data. \param priv library handle \param extract whether to extract fonts

ass_set_font_scale

\brief Set a fixed font scaling factor. \param priv renderer handle \param font_scale scaling factor, default is 1.0

ass_set_fonts

\brief Set font lookup defaults. \param default_font path to default font to use. Must be supplied if fontconfig is disabled or unavailable. \param default_family fallback font family for fontconfig, or NULL \param dfp which font provider to use (one of ASS_DefaultFontProvider). In older libass version, this could be 0 or 1, where 1 enabled fontconfig. Newer relases also accept 0 (ASS_FONTPROVIDER_NONE) and 1 (ASS_FONTPROVIDER_AUTODETECT), which is almost backward-compatible. If the requested fontprovider does not exist or fails to initialize, the behavior is the same as when ASS_FONTPROVIDER_NONE was passed. \param config path to fontconfig configuration file, or NULL. Only relevant if fontconfig is used. \param update whether fontconfig cache should be built/updated now. Only relevant if fontconfig is used.

ass_set_fonts_dir

\brief Set additional fonts directory. Optional directory that will be scanned for fonts recursively. The fonts found are used for font lookup. NOTE: A valid font directory is not needed to support embedded fonts.

ass_set_frame_size

\brief Set the frame size in pixels, including margins. The renderer will never return images that are outside of the frame area. The value set with this function can influence the pixel aspect ratio used for rendering. If the frame size doesn't equal to the video size, you may have to use ass_set_pixel_aspect(). @see ass_set_pixel_aspect() @see ass_set_margins() \param priv renderer handle \param w width \param h height

ass_set_hinting

\brief Set font hinting method. \param priv renderer handle \param ht hinting method

ass_set_line_position

\brief Set vertical line position. \param priv renderer handle \param line_position vertical line position of subtitles in percent (0-100: 0 = on the bottom (default), 100 = on top)

ass_set_line_spacing

\brief Set line spacing. Will not be scaled with frame size. \param priv renderer handle \param line_spacing line spacing in pixels

ass_set_margins

\brief Set frame margins. These values may be negative if pan-and-scan is used. The margins are in pixels. Each value specifies the distance from the video rectangle to the renderer frame. If a given margin value is positive, there will be free space between renderer frame and video area. If a given margin value is negative, the frame is inside the video, i.e. the video has been cropped.

ass_set_pixel_aspect

\brief Set pixel aspect ratio correction. This is the ratio of pixel width to pixel height.

ass_set_selective_style_override

\brief Set style for selective style override. See ass_set_selective_style_override_enabled(). \param style style settings to use if override is enabled. Applications should initialize it with {0} before setting fields. Strings will be copied by the function.

ass_set_selective_style_override_enabled

\brief Set selective style override mode. If enabled, the renderer attempts to override the ASS script's styling of normal subtitles, without affecting explicitly positioned text. If an event looks like a normal subtitle, parts of the font style are copied from the user style set with ass_set_selective_style_override(). Warning: the heuristic used for deciding when to override the style is rather rough, and enabling this option can lead to incorrectly rendered subtitles. Since the ASS format doesn't have any support for allowing end-users to customize subtitle styling, this feature can only be implemented on "best effort" basis, and has to rely on heuristics that can easily break. \param priv renderer handle \param bits bit mask comprised of ASS_OverrideBits values.

ass_set_shaper

\brief Set shaping level. This is merely a hint, the renderer will use whatever is available if the request cannot be fulfilled. \param level shaping level

ass_set_storage_size

\brief Set the source image size in pixels. This is used to calculate the source aspect ratio and the blur scale. The source image size can be reset to default by setting w and h to 0. The value set with this function can influence the pixel aspect ratio used for rendering. @see ass_set_pixel_aspect() \param priv renderer handle \param w width \param h height

ass_set_style_overrides

\brief Register style overrides with a library instance. The overrides should have the form [Style.]Param=Value, e.g. SomeStyle.Font=Arial ScaledBorderAndShadow=yes

ass_set_use_margins

\brief Whether margins should be used for placing regular events. \param priv renderer handle \param use whether to use the margins

ass_step_sub

\brief Calculates timeshift from now to the start of some other subtitle event, depending on movement parameter. \param track subtitle track \param now current time in milliseconds \param movement how many events to skip from the one currently displayed +2 means "the one after the next", -1 means "previous" \return timeshift in milliseconds

Type Definitions

ASS_Event
ASS_Image
ASS_Library
ASS_ParserPriv
ASS_RenderPriv
ASS_Renderer
ASS_Style
ASS_Track