ImgReSampleContext *s;  s = av_mallocz(sizeof(ImgReSampleContext)); if (!s) return NULL; s->line_buf = av_mallocz(owidth * (LINE_BUF_HEIGHT + NB_TAPS)); if (!s->line_buf) goto fail;  s->owidth = owidth; s->oheight = oheight; s->iwidth = iwidth; s->iheight = iheight;  s->h_incr = (iwidth * POS_FRAC) / owidth; s->v_incr = (iheight * POS_FRAC) / oheight;  build_filter(&s->h_filters[0][0], (float)owidth / (float)iwidth); build_filter(&s->v_filters[0][0], (float)oheight / (float)iheight);  return s; fail: av_free(s); return NULL;
return img_resample_full_init(owidth, oheight, iwidth, iheight, 0, 0, 0, 0);
ImgReSampleContext *img_resample_init(int owidth, int oheight,                                      int iwidth, int iheight){    ImgReSampleContext *s;    s = av_mallocz(sizeof(ImgReSampleContext));    if (!s)        return NULL;    s->line_buf = av_mallocz(owidth * (LINE_BUF_HEIGHT + NB_TAPS));    if (!s->line_buf)         goto fail;        s->owidth = owidth;    s->oheight = oheight;    s->iwidth = iwidth;    s->iheight = iheight;        s->h_incr = (iwidth * POS_FRAC) / owidth;    s->v_incr = (iheight * POS_FRAC) / oheight;        build_filter(&s->h_filters[0][0], (float)owidth / (float)iwidth);    build_filter(&s->v_filters[0][0], (float)oheight / (float)iheight);    return s; fail:    av_free(s);    return NULL;}