mirror of
https://github.com/mpv-player/mpv
synced 2024-12-25 08:12:17 +00:00
24bfa82a91
Apparently the -spugauss option was popular. The code originally implementing this is gone (scaler stuff in spudec.c). Reimplement it using libswscale to scale and blur image subtitles if the --sub-gauss option is set. The code does some rather lazy padding to allow the blur to spread pixels past the original image bounding box. (This problem exists with normal bilinear scaling too, but is barely noticable.) Technically, this doesn't just blur subtitles, but anything RGBA (or indexed) that enters the OSD rendering path. But only image subtitles produce these OSD formats currently, so no explicit check is done to prevent blurring in other cases.
18 lines
542 B
C
18 lines
542 B
C
#ifndef MPLAYER_SUB_IMG_CONVERT_H
|
|
#define MPLAYER_SUB_IMG_CONVERT_H
|
|
|
|
#include <stdbool.h>
|
|
|
|
struct osd_conv_cache;
|
|
struct sub_bitmaps;
|
|
|
|
struct osd_conv_cache *osd_conv_cache_new(void);
|
|
|
|
// These functions convert from one OSD format to another. On success, they copy
|
|
// the converted image data into c, and change imgs to point to the data.
|
|
bool osd_conv_idx_to_rgba(struct osd_conv_cache *c, struct sub_bitmaps *imgs);
|
|
bool osd_conv_blur_rgba(struct osd_conv_cache *c, struct sub_bitmaps *imgs,
|
|
double gblur);
|
|
|
|
#endif
|