On Mon, Dec 15, 2014 at 06:20:36PM +0530, arwa arif wrote: > Updated the patch. There was a comment in the original filter that > mul_thrmat is faster in c. So, should mul_thrmat_mmx be included or not?
i dont know that code, where was that comment ? you could benchamrk it though by enclosing the code in START_TIMER / STOP_TIMER("some text") and comparing their speed [...] > +static int filter_frame(AVFilterLink *inlink, AVFrame *in) > +{ > + AVFilterContext *ctx = inlink->dst; > + FSPPContext *fspp = ctx->priv; > + AVFilterLink *outlink = ctx->outputs[0]; > + AVFrame *out = in; > + > + int qp_stride = 0; > + uint8_t *qp_table = NULL; > + > + /* if we are not in a constant user quantizer mode and we don't want to > use > + * the quantizers from the B-frames (B-frames often have a higher QP), we > + * need to save the qp table from the last non B-frame; this is what the > + * following code block does */ > + if (!fspp->qp) { > + qp_table = av_frame_get_qp_table(in, &qp_stride, &fspp->qscale_type); > + > + if (qp_table && !fspp->use_bframe_qp && in->pict_type != > AV_PICTURE_TYPE_B) { > + int w, h; > + > + /* if the qp stride is not set, it means the QP are only defined > on > + * a line basis */ > + if (!qp_stride) { > + w = FF_CEIL_RSHIFT(inlink->w, 4); > + h = 1; > + } else { > + w = FF_CEIL_RSHIFT(qp_stride, 4); > + h = FF_CEIL_RSHIFT(inlink->h, 4); > + } > + av_assert0(w * h <= fspp->non_b_qp_alloc_size); this assert fails with a simple ./ffplay matrixbench_mpeg2.mpg -vf fspp [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Rewriting code that is poorly written but fully understood is good. Rewriting code that one doesnt understand is a sign that one is less smart then the original author, trying to rewrite it will not make it better.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel