[Libav-user] sws_scale() problem

Darren Staples dstaples at friendmts.co.uk
Fri Oct 7 16:35:47 CEST 2011


I'm decoding video files using libavcodec etc. and I'm trying to scale the
individual frames to a given size using sws_scale(). I'm working with 8-bit
grayscale images only.
By writing out the frame buffers to files, and looking at them in an image
editor, I've established that I am successfully reading and decoding the
individual frames, but that the scaling is going wrong.
Approximately a third to a half of the frames scanlines are being correctly
scaled, but then the scaler seems to throw a wobbly and return prematurely.
As you would probably expect, the return value corresponds to the number of
scanlines that have been scaled, not the value that should have been scaled.

In short, the scaling looks like it is working perfectly, except for the
fact that it's not processing all the scanlines !
I'm reasonably sure I've got my scaling context and parameters set up
correctly, because the partial scaled image result looks in proportion, the
image corners look correct etc.

I've tried different pixel formats and frame dimensions but the result is
essentially the same.

Any ideas please ? Could this be a bug ?

My FFMPEG version is:
ffmpeg version N-33313-g1b3b4a5, Copyright (c) 2000-2011 the FFmpeg
  built on Oct  6 2011 10:13:57 with gcc 4.4.3
  libavutil    51. 19. 0 / 51. 19. 0
  libavcodec   53. 19. 0 / 53. 19. 0
  libavformat  53. 14. 0 / 53. 14. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 6 /  2. 43. 6
  libswscale    2.  1. 0 /  2.  1. 0

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20111007/da1f8d5a/attachment.html>

More information about the Libav-user mailing list