diff -Naur a/plugins/ffmpeg/audio.c b/plugins/ffmpeg/audio.c
a
|
b
|
|
45 | 45 | #define ENCODE_AUDIO 1 |
46 | 46 | #endif |
47 | 47 | |
| 48 | #ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE |
| 49 | /* from libavcodec/avcodec.h dated Dec 23 2012 */ |
| 50 | #define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio |
| 51 | #endif |
| 52 | |
48 | 53 | /* The following code was ported from gmerlin_avdecoder (http://gmerlin.sourceforge.net) */ |
49 | 54 | |
50 | 55 | /* MPEG Audio header parsing code */ |
diff -Naur a/plugins/ffmpeg/ffmpeg.h b/plugins/ffmpeg/ffmpeg.h
a
|
b
|
|
27 | 27 | |
28 | 28 | #include <quicktime/qtprivate.h> |
29 | 29 | #include AVCODEC_HEADER |
| 30 | #include <libavutil/mem.h> |
30 | 31 | |
31 | 32 | void quicktime_init_video_codec_ffmpeg(quicktime_codec_t * codec, |
32 | 33 | quicktime_video_map_t *vtrack, |
diff -Naur a/plugins/ffmpeg/params.c b/plugins/ffmpeg/params.c
a
|
b
|
|
101 | 101 | } \ |
102 | 102 | } |
103 | 103 | |
| 104 | #define PARAM_DICT_INT(name, dict_name) \ |
| 105 | { \ |
| 106 | if(!strcasecmp(name, key)) \ |
| 107 | { \ |
| 108 | char buf[128]; \ |
| 109 | snprintf(buf, sizeof(buf), "%d", *(int*)value); \ |
| 110 | av_dict_set(options, dict_name, buf, 0); \ |
| 111 | found = 1; \ |
| 112 | } \ |
| 113 | } |
| 114 | |
104 | 115 | #define PARAM_DICT_FLAG(name, dict_name) \ |
105 | 116 | { \ |
106 | 117 | if(!strcasecmp(name, key)) \ |
… |
… |
|
202 | 213 | PARAM_INT("ff_max_b_frames",max_b_frames); |
203 | 214 | PARAM_FLOAT("ff_b_quant_factor",b_quant_factor); |
204 | 215 | PARAM_INT("ff_b_frame_strategy",b_frame_strategy); |
| 216 | |
| 217 | #if LIBAVCODEC_VERSION_MAJOR >= 55 |
| 218 | PARAM_DICT_INT("ff_luma_elim_threshold","luma_elim_threshold"); |
| 219 | PARAM_DICT_INT("ff_chroma_elim_threshold","chroma_elim_threshold"); |
| 220 | #else |
205 | 221 | PARAM_INT("ff_luma_elim_threshold",luma_elim_threshold); |
206 | 222 | PARAM_INT("ff_chroma_elim_threshold",chroma_elim_threshold); |
| 223 | #endif |
| 224 | |
207 | 225 | PARAM_INT("ff_strict_std_compliance",strict_std_compliance); |
208 | 226 | PARAM_QP2LAMBDA("ff_b_quant_offset",b_quant_offset); |
209 | 227 | PARAM_INT("ff_rc_min_rate",rc_min_rate); |
… |
… |
|
241 | 259 | PARAM_QP2LAMBDA("ff_lmax", lmax); |
242 | 260 | PARAM_INT("ff_noise_reduction",noise_reduction); |
243 | 261 | PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000); |
| 262 | |
| 263 | #if LIBAVCODEC_VERSION_MAJOR >= 55 |
| 264 | PARAM_DICT_INT("ff_inter_threshold","inter_threshold"); |
| 265 | PARAM_DICT_INT("ff_quantizer_noise_shaping","quantizer_noise_shaping"); |
| 266 | #else |
244 | 267 | PARAM_INT("ff_inter_threshold",inter_threshold); |
245 | 268 | PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping); |
| 269 | #endif |
| 270 | |
246 | 271 | PARAM_INT("ff_thread_count",thread_count); |
247 | 272 | PARAM_INT("ff_me_threshold",me_threshold); |
248 | 273 | PARAM_INT("ff_mb_threshold",mb_threshold); |
… |
… |
|
272 | 297 | PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT); |
273 | 298 | PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED); |
274 | 299 | // PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV); // Unused |
| 300 | |
| 301 | #if LIBAVCODEC_VERSION_MAJOR >= 55 |
| 302 | PARAM_DICT_FLAG("ff_flag_cbp_rd","cbp_rd"); |
| 303 | PARAM_DICT_FLAG("ff_flag_qp_rd","qp_rd"); |
| 304 | PARAM_DICT_FLAG("ff_flag2_strict_gop","strict_gop"); |
| 305 | #else |
275 | 306 | PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD); |
276 | 307 | PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD); |
| 308 | PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP); |
| 309 | #endif |
277 | 310 | |
278 | 311 | #if LIBAVCODEC_VERSION_MAJOR >= 54 |
279 | 312 | PARAM_DICT_FLAG("ff_flag_h263p_aiv", "aiv"); |
… |
… |
|
288 | 321 | PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER); |
289 | 322 | PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP); |
290 | 323 | PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST); |
291 | | PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP); |
292 | 324 | PARAM_ENUM("ff_coder_type",coder_type,coder_type); |
293 | 325 | |
294 | 326 | } |