[FFmpeg-devel] [PATCH] doc/examples: add scaling_video example
Michael Niedermayer
michaelni at gmx.at
Thu Aug 23 20:30:45 CEST 2012
On Tue, Aug 21, 2012 at 02:51:17PM +0200, Stefano Sabatini wrote:
> This example should be useful to show the basic functionality of the
> swscale API.
>
> More advanced features (scaling options etc., colorspace tweaking) may be
> added later.
>
> Display code was borrowed from filtering_video.c display_picref() by
> Nicolas George.
[...]
> +static int scale_image(uint8_t *dst_data[4], int dst_linesize[4],
> + int dst_w, int dst_h, enum PixelFormat dst_pix_fmt,
> + uint8_t * const src_data[4], int src_linesize[4],
> + int src_w, int src_h, enum PixelFormat src_pix_fmt,
> + void *log_ctx)
> +{
> + int ret;
> + struct SwsContext *sws_ctx = sws_getContext(src_w, src_h, src_pix_fmt,
> + dst_w, dst_h, dst_pix_fmt,
> + SWS_BILINEAR, NULL, NULL, NULL);
> + if (!sws_ctx) {
> + av_log(log_ctx, AV_LOG_ERROR,
> + "Impossible to create scale context for the conversion "
> + "fmt:%s s:%dx%d -> fmt:%s s:%dx%d\n",
> + av_get_pix_fmt_name(src_pix_fmt), src_w, src_h,
> + av_get_pix_fmt_name(dst_pix_fmt), dst_w, dst_h);
> + ret = AVERROR(EINVAL);
> + goto end;
> + }
> +
> + if ((ret = av_image_alloc(dst_data, dst_linesize, dst_w, dst_h, dst_pix_fmt, 16)) < 0)
> + goto end;
> + ret = 0;
> + sws_scale(sws_ctx, (const uint8_t * const*)src_data,
> + src_linesize, 0, src_h, dst_data, dst_linesize);
> +
> +end:
> + sws_freeContext(sws_ctx);
> + return ret;
> +}
iam not sure init+allo+free for every scaleing is a good idea for an
example, it could lead to the wrong impression on what has to be done
per picture
[...
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120823/feb47315/attachment.asc>
More information about the ffmpeg-devel
mailing list