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 [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
