enc->workaround_bugs = workaround_bugs;
void opt_input_file(const char *filename){    AVFormatContext *ic;    AVFormatParameters params, *ap = &params;    int err, i, ret, rfps;    /* get default parameters from command line */    memset(ap, 0, sizeof(*ap));    ap->sample_rate = audio_sample_rate;    ap->channels = audio_channels;    ap->frame_rate = frame_rate;    ap->width = frame_width;    ap->height = frame_height;    /* open the input file with generic libav function */    err = av_open_input_file(&ic, filename, file_iformat, 0, ap);    if (err < 0) {        print_error(filename, err);        exit(1);    }        /* If not enough info to get the stream parameters, we decode the       first frames to get it. (used in mpeg case for example) */    ret = av_find_stream_info(ic);    if (ret < 0) {        fprintf(stderr, "%s: could not find codec parameters\n", filename);        exit(1);    }    /* update the current parameters so that they match the one of the input stream */    for(i=0;i<ic->nb_streams;i++) {        AVCodecContext *enc = &ic->streams[i]->codec;        switch(enc->codec_type) {        case CODEC_TYPE_AUDIO:            //fprintf(stderr, "\nInput Audio channels: %d", enc->channels);            audio_channels = enc->channels;            audio_sample_rate = enc->sample_rate;            break;        case CODEC_TYPE_VIDEO:            frame_height = enc->height;            frame_width = enc->width;            rfps = ic->streams[i]->r_frame_rate;            if (enc->frame_rate != rfps) {                fprintf(stderr,"\nSeems that stream %d comes from film source: %2.2f->%2.2f\n",                    i, (float)enc->frame_rate / FRAME_RATE_BASE,                    (float)rfps / FRAME_RATE_BASE);            }            /* update the current frame rate to match the stream frame rate */            frame_rate = rfps;            break;        default:            av_abort();        }    }        input_files[nb_input_files] = ic;    /* dump the file content */    dump_format(ic, nb_input_files, filename, 0);    nb_input_files++;    file_iformat = NULL;    file_oformat = NULL;}