On Fri, Jan 24, 2020 at 20:01:49 -0600, rcombs wrote: > +static int invert_ass_alpha(uint32_t c) > +{ > + uint32_t a = c >> 24; > + return ((255 - a) << 24) | (c & 0xffffff); > +}
You're inverting the "leftmost" 8 bits of c? Can't you just make this return (c ^ 0xff000000); ? Even inline, or just a macro? (Or perhaps I'm missing something, and (255 - a) is not always the same as (a ^ 0xff). > +#define ASS_HEADER_AVOPTIONS(cls, obj) \ > + { "res", "script resolution", offsetof(cls, obj.res_x), > AV_OPT_TYPE_IMAGE_SIZE, { .str = ASS_DEFAULT_PLAYRES_STR }, 1, INT_MAX, > ASS_DS }, \ > + { "font", "default font name", offsetof(cls, obj.style.font), > AV_OPT_TYPE_STRING, { .str = NULL }, 0, 0, ASS_DS }, \ > + { "font_size", "default font name", offsetof(cls, obj.style.font_size), > AV_OPT_TYPE_DOUBLE, { .dbl = ASS_DEFAULT_FONT_SIZE }, 0, INT_MAX, ASS_DS }, \ > + { "color", "default text color", offsetof(cls, obj.style.color), > AV_OPT_TYPE_COLOR, { .str = ASS_DEFAULT_COLOR_STR }, 0, 0, ASS_DS }, \ > + { "color2", "default secondary text color", offsetof(cls, > obj.style.color2), AV_OPT_TYPE_COLOR, { .str = ASS_DEFAULT_COLOR_STR }, 0, 0, > ASS_DS }, \ > + { "outline_color", "default text outline color", offsetof(cls, > obj.style.outline_color), AV_OPT_TYPE_COLOR, { .str = ASS_DEFAULT_BCOLOR_STR > }, 0, 0, ASS_DS }, \ > + { "back_color", "default text background/shadow color", offsetof(cls, > obj.style.back_color), AV_OPT_TYPE_COLOR, { .str = ASS_DEFAULT_BCOLOR_STR }, > 0, 0, ASS_DS }, \ > + { "bold", "default text boldness (0/1/weight value)", offsetof(cls, > obj.style.bold), AV_OPT_TYPE_INT, { .i64 = ASS_DEFAULT_BOLD }, 0, INT_MAX, > ASS_DS }, \ > + { "italic", "default text italics", offsetof(cls, obj.style.bold), > AV_OPT_TYPE_BOOL, { .i64 = ASS_DEFAULT_ITALIC }, 0, 1, ASS_DS }, \ > + { "underline", "default text italics", offsetof(cls, > obj.style.underline), AV_OPT_TYPE_BOOL, { .i64 = ASS_DEFAULT_UNDERLINE }, 0, > 1, ASS_DS }, \ > + { "strikeout", "default text strikeout", offsetof(cls, > obj.style.strikeout), AV_OPT_TYPE_BOOL, { .i64 = ASS_DEFAULT_STRIKEOUT }, 0, > 1, ASS_DS }, \ > + { "scale_x", "default horizontal text scale", offsetof(cls, > obj.style.scale_x), AV_OPT_TYPE_DOUBLE, { .dbl = ASS_DEFAULT_SCALE_X }, 0, > INT_MAX, ASS_DS }, \ > + { "scale_y", "default vertical text scale", offsetof(cls, > obj.style.scale_y), AV_OPT_TYPE_DOUBLE, { .dbl = ASS_DEFAULT_SCALE_Y }, 0, > INT_MAX, ASS_DS }, \ > + { "border_style", "default text border style", offsetof(cls, > obj.style.border_style), AV_OPT_TYPE_INT, { .i64 = ASS_DEFAULT_BORDERSTYLE }, > 1, 4, ASS_DS }, \ > + { "outline", "default text outline width", offsetof(cls, > obj.style.outline), AV_OPT_TYPE_DOUBLE, { .dbl = ASS_DEFAULT_OUTLINE }, 0, > INT_MAX, ASS_DS }, \ > + { "shadow", "default text shadow drop", offsetof(cls, obj.style.shadow), > AV_OPT_TYPE_DOUBLE, { .dbl = ASS_DEFAULT_SHADOW }, 0, INT_MAX, ASS_DS }, \ > + { "alignment", "default text alignment", offsetof(cls, > obj.style.alignment), AV_OPT_TYPE_INT, { .i64 = ASS_DEFAULT_ALIGNMENT }, 1, > 9, ASS_DS }, \ > + { "margin_l", "default left margin", offsetof(cls, obj.style.margin_l), > AV_OPT_TYPE_INT, { .i64 = ASS_DEFAULT_MARGINL }, 0, INT_MAX, ASS_DS }, \ > + { "margin_r", "default right margin", offsetof(cls, obj.style.margin_r), > AV_OPT_TYPE_INT, { .i64 = ASS_DEFAULT_MARGINR }, 0, INT_MAX, ASS_DS }, \ > + { "margin_v", "default vertical margin", offsetof(cls, > obj.style.margin_v), AV_OPT_TYPE_INT, { .i64 = ASS_DEFAULT_MARGINV }, 0, > INT_MAX, ASS_DS }, \ To make this more readable, you should also MACROify the "offsetof(cls, obj.X)", as many other options sections do it, and perhaps align the entries' columns. Moritz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".