]> git.pld-linux.org Git - packages/vice.git/blob - ffmpeg3.patch
8b4aca4e4f8c48993bfadb602fe0e4ab9eb1f49a
[packages/vice.git] / ffmpeg3.patch
1 --- vice-2.4/src/gfxoutputdrv/ffmpegdrv.c.orig  2016-10-20 08:39:01.494075298 +0200
2 +++ vice-2.4/src/gfxoutputdrv/ffmpegdrv.c       2016-10-20 08:39:21.217744132 +0200
3 @@ -46,29 +46,29 @@
4  #include "../sounddrv/soundmovie.h"
5  
6  static gfxoutputdrv_codec_t avi_audio_codeclist[] = { 
7 -    { CODEC_ID_MP2, "MP2" },
8 -    { CODEC_ID_MP3, "MP3" },
9 -    { CODEC_ID_FLAC, "FLAC" },
10 -    { CODEC_ID_PCM_S16LE, "PCM uncompressed" },
11 +    { AV_CODEC_ID_MP2, "MP2" },
12 +    { AV_CODEC_ID_MP3, "MP3" },
13 +    { AV_CODEC_ID_FLAC, "FLAC" },
14 +    { AV_CODEC_ID_PCM_S16LE, "PCM uncompressed" },
15      { 0, NULL }
16  };
17  
18  static gfxoutputdrv_codec_t avi_video_codeclist[] = { 
19 -    { CODEC_ID_MPEG4, "MPEG4 (DivX)" },
20 -    { CODEC_ID_MPEG1VIDEO, "MPEG1" },
21 -    { CODEC_ID_FFV1, "FFV1 (lossless)" },
22 -    { CODEC_ID_H264, "H264" },
23 -    { CODEC_ID_THEORA, "Theora" },
24 +    { AV_CODEC_ID_MPEG4, "MPEG4 (DivX)" },
25 +    { AV_CODEC_ID_MPEG1VIDEO, "MPEG1" },
26 +    { AV_CODEC_ID_FFV1, "FFV1 (lossless)" },
27 +    { AV_CODEC_ID_H264, "H264" },
28 +    { AV_CODEC_ID_THEORA, "Theora" },
29      { 0, NULL }
30  };
31  
32  static gfxoutputdrv_codec_t ogg_audio_codeclist[] = { 
33 -    { CODEC_ID_FLAC, "FLAC" },
34 +    { AV_CODEC_ID_FLAC, "FLAC" },
35      { 0, NULL }
36  };
37  
38  static gfxoutputdrv_codec_t ogg_video_codeclist[] = { 
39 -    { CODEC_ID_THEORA, "Theora" },
40 +    { AV_CODEC_ID_THEORA, "Theora" },
41      { 0, NULL }
42  };
43  
44 @@ -201,9 +201,9 @@
45      { "FFMPEGVideoBitrate", VICE_FFMPEG_VIDEO_RATE_DEFAULT,
46        RES_EVENT_NO, NULL,
47        &video_bitrate, set_video_bitrate, NULL },
48 -    { "FFMPEGAudioCodec", CODEC_ID_MP3, RES_EVENT_NO, NULL,
49 +    { "FFMPEGAudioCodec", AV_CODEC_ID_MP3, RES_EVENT_NO, NULL,
50        &audio_codec, set_audio_codec, NULL },
51 -    { "FFMPEGVideoCodec", CODEC_ID_MPEG4, RES_EVENT_NO, NULL,
52 +    { "FFMPEGVideoCodec", AV_CODEC_ID_MPEG4, RES_EVENT_NO, NULL,
53        &video_codec, set_video_codec, NULL },
54      { "FFMPEGVideoHalveFramerate", 0, RES_EVENT_NO, NULL,
55        &video_halve_framerate, set_video_halve_framerate, NULL },
56 @@ -278,10 +278,10 @@
57      if (c->frame_size <= 1) {
58          audio_inbuf_samples = audio_outbuf_size;
59          switch(st->codec->codec_id) {
60 -        case CODEC_ID_PCM_S16LE:
61 -        case CODEC_ID_PCM_S16BE:
62 -        case CODEC_ID_PCM_U16LE:
63 -        case CODEC_ID_PCM_U16BE:
64 +        case AV_CODEC_ID_PCM_S16LE:
65 +        case AV_CODEC_ID_PCM_S16BE:
66 +        case AV_CODEC_ID_PCM_U16LE:
67 +        case AV_CODEC_ID_PCM_U16BE:
68              audio_inbuf_samples >>= 1;
69              break;
70          default:
71 @@ -326,7 +326,7 @@
72  
73      audio_init_done = 1;
74  
75 -    if (ffmpegdrv_fmt->audio_codec == CODEC_ID_NONE)
76 +    if (ffmpegdrv_fmt->audio_codec == AV_CODEC_ID_NONE)
77          return -1;
78  
79      *audio_in = &ffmpegdrv_audio_in;
80 @@ -496,8 +496,8 @@
81         picture is needed too. It is then converted to the required
82         output format */
83      tmp_picture = NULL;
84 -    if (c->pix_fmt != PIX_FMT_RGB24) {
85 -        tmp_picture = ffmpegdrv_alloc_picture(PIX_FMT_RGB24, 
86 +    if (c->pix_fmt != AV_PIX_FMT_RGB24) {
87 +        tmp_picture = ffmpegdrv_alloc_picture(AV_PIX_FMT_RGB24, 
88                                                  c->width, c->height);
89          if (!tmp_picture) {
90              log_debug("ffmpegdrv: could not allocate temporary picture");
91 @@ -548,7 +548,7 @@
92  
93       video_init_done = 1;
94  
95 -     if (ffmpegdrv_fmt->video_codec == CODEC_ID_NONE)
96 +     if (ffmpegdrv_fmt->video_codec == AV_CODEC_ID_NONE)
97          return;
98  
99      st = (*ffmpeglib.p_av_new_stream)(ffmpegdrv_oc, 0);
100 @@ -573,23 +573,23 @@
101      }
102      c->time_base.num = 1;
103      c->gop_size = 12; /* emit one intra frame every twelve frames at most */
104 -    c->pix_fmt = PIX_FMT_YUV420P;
105 +    c->pix_fmt = AV_PIX_FMT_YUV420P;
106  
107      /* Avoid format conversion which would lead to loss of quality */
108 -    if (c->codec_id == CODEC_ID_FFV1) {
109 -        c->pix_fmt = PIX_FMT_RGB32;
110 +    if (c->codec_id == AV_CODEC_ID_FFV1) {
111 +        c->pix_fmt = AV_PIX_FMT_RGB32;
112      }
113  
114      /* Use XVID instead of FMP4 FOURCC for better compatibility */
115 -    if (c->codec_id == CODEC_ID_MPEG4) {
116 +    if (c->codec_id == AV_CODEC_ID_MPEG4) {
117          c->codec_tag = MKTAG('X','V','I','D');
118      }
119  
120  #ifdef HAVE_FFMPEG_SWSCALE
121      /* setup scaler */
122 -    if (c->pix_fmt != PIX_FMT_RGB24) {
123 +    if (c->pix_fmt != AV_PIX_FMT_RGB24) {
124          sws_ctx = (*ffmpeglib.p_sws_getContext)
125 -            (video_width, video_height, PIX_FMT_RGB24, 
126 +            (video_width, video_height, AV_PIX_FMT_RGB24, 
127               video_width, video_height, c->pix_fmt, 
128               SWS_BICUBIC, 
129               NULL, NULL, NULL);
130 @@ -794,7 +794,7 @@
131  
132      c = video_st->codec;
133  
134 -    if (c->pix_fmt != PIX_FMT_RGB24) {
135 +    if (c->pix_fmt != AV_PIX_FMT_RGB24) {
136          ffmpegdrv_fill_rgb_image(screenshot, tmp_picture);
137  #ifdef HAVE_FFMPEG_SWSCALE
138          if (sws_ctx != NULL) {
139 @@ -804,7 +804,7 @@
140          }
141  #else
142          (*ffmpeglib.p_img_convert)((AVPicture *)picture, c->pix_fmt,
143 -                    (AVPicture *)tmp_picture, PIX_FMT_RGB24,
144 +                    (AVPicture *)tmp_picture, AV_PIX_FMT_RGB24,
145                      c->width, c->height);
146  #endif
147      } else {
148 --- vice-2.4/src/gfxoutputdrv/ffmpeglib.h.orig  2016-10-20 08:42:01.130057414 +0200
149 +++ vice-2.4/src/gfxoutputdrv/ffmpeglib.h       2016-10-20 08:42:13.940218343 +0200
150 @@ -95,7 +95,7 @@
151  #ifdef HAVE_FFMPEG_SWSCALE
152  /* swscale functions */
153  typedef struct SwsContext * (*sws_getContext_t)(int srcW, int srcH,
154 -  enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat,
155 +  enum AVPixelFormat srcFormat, int dstW, int dstH, enum AVPixelFormat dstFormat,
156    int flags, SwsFilter *srcFilter, SwsFilter *dstFilter, double *param);
157  typedef void (*sws_freeContext_t)(struct SwsContext *swsContext);
158  typedef int (*sws_scale_t)(struct SwsContext *context, uint8_t* srcSlice[],
This page took 0.055248 seconds and 2 git commands to generate.