AVDictionary *copts = 0;
//av_dict_copy(&copts, opts, 0);
AVCodecID codec_id = st->codecpar->codec_id;
+#if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(58,134,100)
AVCodec *decoder = avcodec_find_decoder(codec_id);
+#endif
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,16,100)
+ const AVCodec *decoder = avcodec_find_decoder(codec_id);
+#endif
AVCodecContext *ctx = avcodec_alloc_context3(decoder);
if( !ctx ) {
fprintf(stderr,"codec alloc failed\n");
av_packet_unref(&ipkt);
av_frame_free(&ipic);
avcodec_free_context(&ctx);
+
+ if (ilaced < 0) {
+ fprintf(stderr, "warning bdwrite uses field into from stream \n", st->codecpar->field_order);
+ switch(st->codecpar->field_order) {
+ case AV_FIELD_TT:
+ case AV_FIELD_TB:
+ case AV_FIELD_BB:
+ case AV_FIELD_BT:
+ return 1;
+ case AV_FIELD_PROGRESSIVE:
+ return 0;
+ default:
+ return -1;
+ }
+ }
+
return ilaced;
}
stream *s = new stream(type, i);
s->pid = st->id;
AVCodecID codec_id = st->codecpar->codec_id;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(59,16,100)
+ const AVCodec *decoder = avcodec_find_decoder(codec_id);
+#endif
+#if LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(58,134,100)
AVCodec *decoder = avcodec_find_decoder(codec_id);
+#endif
+
s->ctx = avcodec_alloc_context3(decoder);
if( !s->ctx ) {
fprintf(stderr, "avcodec_alloc_context failed\n");