From 70d093e78087c821c2c944df062f4a8ba10e2625 Mon Sep 17 00:00:00 2001
From: Antonio Ospite <ospite@studenti.unina.it>
Date: Mon, 18 Mar 2013 11:06:57 +0100
Subject: [PATCH] Revert "am7xxx-play: switch to avcodec_encode_video2()"
X-Face: z*RaLf`X<@C75u6Ig9}{oW$H;1_\2t5)({*|jhM<pyWR#k60!#=#>/Vb;]yA5<GWI5`6u&+
 ;6b'@y|8w"wB;4/e!7wYYrcqdJFY,~%Gk_4]cq$Ei/7<j&N3ah(m`ku?pX.&+~:_/wC~dwn^)MizBG
 !pE^+iDQQ1yC6^,)YDKkxDd!T>\I~93>J<_`<4)A{':UrE

This reverts commit b344c71f3e03f912d8b6ee7d96cdd67b31cdf8cc.

avcodec_encode_video2() has been introduced in lavc 54.01.0 but Debian Wheezy
ships with lavc 53, so for now we should revert this change for the Debian
packages.

When this patch will be dropped maybe the package should depend on
libavcodec54 as the old API may be disabled in the Debian packages.

---
 examples/am7xxx-play.c |   29 +++++++++--------------------
 1 file changed, 9 insertions(+), 20 deletions(-)

diff --git a/examples/am7xxx-play.c b/examples/am7xxx-play.c
index 38812a4..0b1fa65 100644
--- a/examples/am7xxx-play.c
+++ b/examples/am7xxx-play.c
@@ -285,12 +285,9 @@ static int am7xxx_play(const char *input_format_string,
 	int out_buf_size;
 	uint8_t *out_buf;
 	int out_picture_size;
-	uint8_t *out_picture;
 	struct SwsContext *sw_scale_ctx;
 	AVPacket in_packet;
-	AVPacket out_packet;
 	int got_picture;
-	int got_packet;
 	int ret = 0;
 
 	ret = video_input_init(&input_ctx, input_format_string, input_path, input_options);
@@ -393,26 +390,20 @@ static int am7xxx_play(const char *input_format_string,
 				  picture_scaled->linesize);
 
 			if (output_ctx.raw_output) {
-				out_picture = out_buf;
 				out_picture_size = out_buf_size;
 			} else {
 				picture_scaled->quality = (output_ctx.codec_ctx)->global_quality;
-				av_init_packet(&out_packet);
-				out_packet.data = NULL;
-				out_packet.size = 0;
-				got_packet = 0;
-				ret = avcodec_encode_video2(output_ctx.codec_ctx,
-							    &out_packet,
-							    picture_scaled,
-							    &got_packet);
-				if (ret < 0 || !got_packet) {
+				/* TODO: switch to avcodec_encode_video2() eventually */
+				out_picture_size = avcodec_encode_video(output_ctx.codec_ctx,
+									out_buf,
+									out_buf_size,
+									picture_scaled);
+				if (out_picture_size < 0) {
 					fprintf(stderr, "cannot encode video\n");
+					ret = out_picture_size;
 					run = 0;
 					goto end_while;
 				}
-
-				out_picture = out_packet.data;
-				out_picture_size = out_packet.size;
 			}
 
 #ifdef DEBUG
@@ -423,7 +414,7 @@ static int am7xxx_play(const char *input_format_string,
 			else
 				snprintf(filename, NAME_MAX, "out.raw");
 			file = fopen(filename, "wb");
-			fwrite(out_picture, 1, out_picture_size, file);
+			fwrite(out_buf, 1, out_picture_size, file);
 			fclose(file);
 #endif
 
@@ -431,7 +422,7 @@ static int am7xxx_play(const char *input_format_string,
 						image_format,
 						(output_ctx.codec_ctx)->width,
 						(output_ctx.codec_ctx)->height,
-						out_picture,
+						out_buf,
 						out_picture_size);
 			if (ret < 0) {
 				perror("am7xxx_send_image");
@@ -440,8 +431,6 @@ static int am7xxx_play(const char *input_format_string,
 			}
 		}
 end_while:
-		if (!output_ctx.raw_output)
-			av_free_packet(&out_packet);
 		av_free_packet(&in_packet);
 	}
 
-- 
1.7.10.4

