[FFmpeg-devel] [PATCH 2/3] lavc: add a framework to fix alignment problems.

Michael Niedermayer michael at niedermayer.cc
Wed May 10 23:16:45 EEST 2017


On Wed, May 10, 2017 at 05:49:20PM +0200, Nicolas George wrote:
> Le primidi 21 floréal, an CCXXV, Michael Niedermayer a écrit :
> > breaks (green stuff on edges)
> >  ./ffmpeg -i ~/videos/matrixbench_mpeg2.mpg -an -vframes 5  -vf uspp=4:8 -qscale 1 -y file.avi
> 
> It is a bug in vf_uspp: 
> 
> diff --git a/libavfilter/vf_uspp.c b/libavfilter/vf_uspp.c
> index ef493b860f..6e378253a0 100644
> --- a/libavfilter/vf_uspp.c
> +++ b/libavfilter/vf_uspp.c
> @@ -250,6 +250,9 @@ static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3],
>          p->frame->data[2] = p->src[2] + x1c  + y1c  * p->frame->linesize[2];
>          p->frame->format  = p->avctx_enc[i]->pix_fmt;
>  
> +        av_log(0, 16, "encode %d x %d with %d x %d\n",
> +               p->frame->width, p->frame->height,
> +               p->avctx_enc[i]->width, p->avctx_enc[i]->height);
>          ret = avcodec_encode_video2(p->avctx_enc[i], &pkt, p->frame, &got_pkt_ptr);
>          if (ret < 0) {
>              av_log(p->avctx_enc[i], AV_LOG_ERROR, "Encoding failed\n");
> 
> gives:
> 
>   Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg4 (native))
> encode 720 x 576 with 736 x 592
> zsh: segmentation fault  ./ffmpeg_g -nostdin -i ~/tmp/samples/matrixbench_mpeg2.mpg -an -vframes 5 -vf
> 
> vf_uspp is giving a 720×576 frame to a 736×592 encoder.
> 
> I do not know how to fix that.

fixed, and now your patchset seems to cause a 1% slowdown of the
example above

real    0m2.182s
user    0m2.129s
sys     0m0.064s

real    0m2.182s
user    0m2.131s
sys     0m0.064s

real    0m2.182s
user    0m2.124s
sys     0m0.072s

vs:
real    0m2.204s
user    0m2.158s
sys     0m0.056s

real    0m2.203s
user    0m2.151s
sys     0m0.063s

real    0m2.204s
user    0m2.167s
sys     0m0.048s


[...]


-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

During times of universal deceit, telling the truth becomes a
revolutionary act. -- George Orwell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170510/43333f6e/attachment.sig>


More information about the ffmpeg-devel mailing list