1 --- vice-2.4/src/gfxoutputdrv/ffmpeglib.h.orig 2011-10-24 21:06:48.000000000 +0200
2 +++ vice-2.4/src/gfxoutputdrv/ffmpeglib.h 2012-11-25 13:09:18.518868503 +0100
4 /* avcodec fucntions */
5 typedef int (*avcodec_open_t) (AVCodecContext*, AVCodec*);
6 typedef int (*avcodec_close_t) (AVCodecContext*);
7 -typedef AVCodec* (*avcodec_find_encoder_t) (enum CodecID);
8 +typedef AVCodec* (*avcodec_find_encoder_t) (enum AVCodecID);
9 typedef int (*avcodec_encode_audio_t) (AVCodecContext*, uint8_t*, int, const short*);
10 typedef int (*avcodec_encode_video_t) (AVCodecContext*, uint8_t*, int, const AVFrame*);
11 typedef int (*avpicture_fill_t) (AVPicture*, uint8_t*, int, int, int);
12 @@ -80,12 +80,11 @@ typedef int (*avpicture_get_size_t) (int
13 typedef void (*av_init_packet_t) (AVPacket *pkt);
14 typedef void (*av_register_all_t) (void);
15 typedef AVStream* (*av_new_stream_t) (AVFormatContext*, int);
16 -typedef int (*av_set_parameters_t) (AVFormatContext*, AVFormatParameters*);
17 -typedef int (*av_write_header_t) (AVFormatContext*);
18 +typedef int (*avformat_write_header_t) (AVFormatContext*, AVDictionary **);
19 typedef int (*av_write_frame_t) (AVFormatContext*, AVPacket*);
20 typedef int (*av_write_trailer_t) (AVFormatContext*);
21 -typedef int (*url_fopen_t) (ByteIOContext**, const char*, int);
22 -typedef int (*url_fclose_t) (ByteIOContext*);
23 +typedef int (*avio_open_t) (AVIOContext**, const char*, int);
24 +typedef int (*avio_close_t) (AVIOContext*);
25 typedef void (*dump_format_t) (AVFormatContext *, int, const char*, int);
26 typedef AVOutputFormat* (*av_guess_format_t) (const char*, const char*, const char*);
27 typedef int (*img_convert_t) (AVPicture*, int, AVPicture*, int, int, int);
28 @@ -118,12 +117,11 @@ struct ffmpeglib_s {
29 av_init_packet_t p_av_init_packet;
30 av_register_all_t p_av_register_all;
31 av_new_stream_t p_av_new_stream;
32 - av_set_parameters_t p_av_set_parameters;
33 - av_write_header_t p_av_write_header;
34 + avformat_write_header_t p_avformat_write_header;
35 av_write_frame_t p_av_write_frame;
36 av_write_trailer_t p_av_write_trailer;
37 - url_fopen_t p_url_fopen;
38 - url_fclose_t p_url_fclose;
39 + avio_open_t p_avio_open;
40 + avio_close_t p_avio_close;
41 dump_format_t p_dump_format;
42 av_guess_format_t p_av_guess_format;
43 #ifndef HAVE_FFMPEG_SWSCALE
44 --- vice-2.4/src/gfxoutputdrv/ffmpegdrv.c.orig 2012-02-13 20:31:44.000000000 +0100
45 +++ vice-2.4/src/gfxoutputdrv/ffmpegdrv.c 2012-11-25 13:10:46.712199998 +0100
46 @@ -343,7 +343,7 @@ static int ffmpegmovie_init_audio(int sp
48 c->codec_id = ffmpegdrv_fmt->audio_codec;
49 c->codec_type = AVMEDIA_TYPE_AUDIO;
50 - c->sample_fmt = SAMPLE_FMT_S16;
51 + c->sample_fmt = AV_SAMPLE_FMT_S16;
53 /* put sample parameters */
54 c->bit_rate = audio_bitrate;
55 @@ -613,11 +613,6 @@ static int ffmpegdrv_init_file(void)
56 if (!video_init_done || !audio_init_done)
59 - if ((*ffmpeglib.p_av_set_parameters)(ffmpegdrv_oc, NULL) < 0) {
60 - log_debug("ffmpegdrv: Invalid output format parameters");
64 (*ffmpeglib.p_dump_format)(ffmpegdrv_oc, 0, ffmpegdrv_oc->filename, 1);
66 if (video_st && (ffmpegdrv_open_video(ffmpegdrv_oc, video_st) < 0)) {
67 @@ -632,8 +627,8 @@ static int ffmpegdrv_init_file(void)
70 if (!(ffmpegdrv_fmt->flags & AVFMT_NOFILE)) {
71 - if ((*ffmpeglib.p_url_fopen)(&ffmpegdrv_oc->pb, ffmpegdrv_oc->filename,
73 + if ((*ffmpeglib.p_avio_open)(&ffmpegdrv_oc->pb, ffmpegdrv_oc->filename,
74 + AVIO_FLAG_WRITE) < 0)
76 ui_error(translate_text(IDGS_FFMPEG_CANNOT_OPEN_S), ffmpegdrv_oc->filename);
77 screenshot_stop_recording();
78 @@ -642,7 +637,7 @@ static int ffmpegdrv_init_file(void)
82 - (*ffmpeglib.p_av_write_header)(ffmpegdrv_oc);
83 + (*ffmpeglib.p_avformat_write_header)(ffmpegdrv_oc, NULL);
85 log_debug("ffmpegdrv: Initialized file successfully");
87 @@ -724,7 +719,7 @@ static int ffmpegdrv_close(screenshot_t
88 (*ffmpeglib.p_av_write_trailer)(ffmpegdrv_oc);
89 if (!(ffmpegdrv_fmt->flags & AVFMT_NOFILE)) {
90 /* close the output file */
91 - (*ffmpeglib.p_url_fclose)(ffmpegdrv_oc->pb);
92 + (*ffmpeglib.p_avio_close)(ffmpegdrv_oc->pb);
96 --- vice-2.4/src/gfxoutputdrv/ffmpeglib.c.orig 2011-09-18 15:09:45.000000000 +0200
97 +++ vice-2.4/src/gfxoutputdrv/ffmpeglib.c 2012-11-25 13:11:58.342198505 +0100
98 @@ -208,12 +208,11 @@ static int load_avformat(ffmpeglib_t *li
99 GET_SYMBOL_AND_TEST_AVFORMAT(av_init_packet);
100 GET_SYMBOL_AND_TEST_AVFORMAT(av_register_all);
101 GET_SYMBOL_AND_TEST_AVFORMAT(av_new_stream);
102 - GET_SYMBOL_AND_TEST_AVFORMAT(av_set_parameters);
103 - GET_SYMBOL_AND_TEST_AVFORMAT(av_write_header);
104 + GET_SYMBOL_AND_TEST_AVFORMAT(avformat_write_header);
105 GET_SYMBOL_AND_TEST_AVFORMAT(av_write_frame);
106 GET_SYMBOL_AND_TEST_AVFORMAT(av_write_trailer);
107 - GET_SYMBOL_AND_TEST_AVFORMAT(url_fopen);
108 - GET_SYMBOL_AND_TEST_AVFORMAT(url_fclose);
109 + GET_SYMBOL_AND_TEST_AVFORMAT(avio_open);
110 + GET_SYMBOL_AND_TEST_AVFORMAT(avio_close);
111 GET_SYMBOL_AND_TEST_AVFORMAT(dump_format);
112 GET_SYMBOL_AND_TEST_AVFORMAT(av_guess_format);
113 #ifndef HAVE_FFMPEG_SWSCALE
114 @@ -240,12 +239,11 @@ static void free_avformat(ffmpeglib_t *l
115 lib->p_av_init_packet = NULL;
116 lib->p_av_register_all = NULL;
117 lib->p_av_new_stream = NULL;
118 - lib->p_av_set_parameters = NULL;
119 - lib->p_av_write_header = NULL;
120 + lib->p_avformat_write_header = NULL;
121 lib->p_av_write_frame = NULL;
122 lib->p_av_write_trailer = NULL;
123 - lib->p_url_fopen = NULL;
124 - lib->p_url_fclose = NULL;
125 + lib->p_avio_open = NULL;
126 + lib->p_avio_close = NULL;
127 lib->p_dump_format = NULL;
128 lib->p_av_guess_format = NULL;
129 #ifndef HAVE_FFMPEG_SWSCALE