X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/336853d1eb2a1cb84b7995e579c320f754519602..2eab93f5e228a7283f5cfc844974c4093dc505d4:/examples/am7xxx-play.c diff --git a/examples/am7xxx-play.c b/examples/am7xxx-play.c index 6b0d206..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, @@ -548,7 +554,7 @@ static char *get_x_screen_size(const char *input_path) static char *get_x_screen_size(const char *input_path) { (void) input_path; - fprintf(stderr, "%s: fallback implementation\n", __func__); + fprintf(stderr, "%s: fallback implementation, assuming a vga screen\n", __func__); return strdup("vga"); } #endif