return ff_filter_frame(outlink, out);
}
-static int init(AVFilterContext *ctx)
+static av_cold int init(AVFilterContext *ctx)
{
XBRContext *s = ctx->priv;
static const xbrfunc_t xbrfuncs[] = {xbr2x, xbr3x, xbr4x};
int startg = FFMAX3(-bg, -rg, 0);
int endg = FFMIN3(255-bg, 255-rg, 255);
uint32_t y = (uint32_t)(( 299*rg + 1000*startg + 114*bg)/1000);
- c = bg + (rg<<16) + 0x010101 * startg;
+ c = bg + rg * (1 << 16) + 0x010101 * startg;
for (g = startg; g <= endg; g++) {
s->rgbtoyuv[c] = ((y++) << 16) + (u << 8) + v;
c+= 0x010101;
{ NULL }
};
-AVFilter ff_vf_xbr = {
+const AVFilter ff_vf_xbr = {
.name = "xbr",
.description = NULL_IF_CONFIG_SMALL("Scale the input using xBR algorithm."),
.inputs = xbr_inputs,