X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/b19b4ede044e0e2f4674ed9b1beddae510f40a95..2eab93f5e228a7283f5cfc844974c4093dc505d4:/examples/am7xxx-play.c diff --git a/examples/am7xxx-play.c b/examples/am7xxx-play.c index 4b9565c..f5e6157 100644 --- a/examples/am7xxx-play.c +++ b/examples/am7xxx-play.c @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -326,9 +327,10 @@ static int am7xxx_play(const char *input_format_string, picture_scaled->height = (output_ctx.codec_ctx)->height; /* calculate the bytes needed for the output image and create buffer for the output image */ - out_buf_size = avpicture_get_size((output_ctx.codec_ctx)->pix_fmt, - (output_ctx.codec_ctx)->width, - (output_ctx.codec_ctx)->height); + out_buf_size = av_image_get_buffer_size((output_ctx.codec_ctx)->pix_fmt, + (output_ctx.codec_ctx)->width, + (output_ctx.codec_ctx)->height, + 1); out_buf = av_malloc(out_buf_size * sizeof(uint8_t)); if (out_buf == NULL) { fprintf(stderr, "cannot allocate output data buffer!\n"); @@ -388,7 +390,11 @@ static int am7xxx_play(const char *input_format_string, /* if we got the complete frame */ if (got_picture) { - /* convert it to YUV */ + /* + * Rescaling the picture also changes its pixel format + * to the raw format supported by the projector if + * this was set in video_output_init() + */ sws_scale(sw_scale_ctx, (const uint8_t * const *)picture_raw->data, picture_raw->linesize,