diff --git a/libavformat/ffm.c b/libavformat/ffm.c index cb53415dbc..a5dd036024 100644 --- a/libavformat/ffm.c +++ b/libavformat/ffm.c @@ -160,6 +160,8 @@ static int ffm_write_header(AVFormatContext *s) put_be32(pb, codec->bit_rate); put_be32(pb, st->quality); put_be32(pb, codec->flags); + put_be32(pb, codec->flags2); + put_be32(pb, codec->debug); /* specific info */ switch(codec->codec_type) { case CODEC_TYPE_VIDEO: @@ -168,6 +170,7 @@ static int ffm_write_header(AVFormatContext *s) put_be16(pb, codec->width); put_be16(pb, codec->height); put_be16(pb, codec->gop_size); + put_be32(pb, codec->pix_fmt); put_byte(pb, codec->qmin); put_byte(pb, codec->qmax); put_byte(pb, codec->max_qdiff); @@ -183,6 +186,17 @@ static int ffm_write_header(AVFormatContext *s) put_be64_double(pb, codec->i_quant_offset); put_be64_double(pb, codec->b_quant_offset); put_be32(pb, codec->dct_algo); + put_be32(pb, codec->strict_std_compliance); + put_be32(pb, codec->max_b_frames); + put_be32(pb, codec->luma_elim_threshold); + put_be32(pb, codec->chroma_elim_threshold); + put_be32(pb, codec->mpeg_quant); + put_be32(pb, codec->intra_dc_precision); + put_be32(pb, codec->me_method); + put_be32(pb, codec->mb_decision); + put_be32(pb, codec->nsse_weight); + put_be32(pb, codec->frame_skip_cmp); + put_be64_double(pb, codec->rc_buffer_aggressivity); break; case CODEC_TYPE_AUDIO: put_be32(pb, codec->sample_rate); @@ -477,6 +491,8 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap) codec->bit_rate = get_be32(pb); st->quality = get_be32(pb); codec->flags = get_be32(pb); + codec->flags2 = get_be32(pb); + codec->debug = get_be32(pb); /* specific info */ switch(codec->codec_type) { case CODEC_TYPE_VIDEO: @@ -485,6 +501,7 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap) codec->width = get_be16(pb); codec->height = get_be16(pb); codec->gop_size = get_be16(pb); + codec->pix_fmt = get_be32(pb); codec->qmin = get_byte(pb); codec->qmax = get_byte(pb); codec->max_qdiff = get_byte(pb); @@ -500,6 +517,17 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap) codec->i_quant_offset = get_be64_double(pb); codec->b_quant_offset = get_be64_double(pb); codec->dct_algo = get_be32(pb); + codec->strict_std_compliance = get_be32(pb); + codec->max_b_frames = get_be32(pb); + codec->luma_elim_threshold = get_be32(pb); + codec->chroma_elim_threshold = get_be32(pb); + codec->mpeg_quant = get_be32(pb); + codec->intra_dc_precision = get_be32(pb); + codec->me_method = get_be32(pb); + codec->mb_decision = get_be32(pb); + codec->nsse_weight = get_be32(pb); + codec->frame_skip_cmp = get_be32(pb); + codec->rc_buffer_aggressivity = get_be64_double(pb); break; case CODEC_TYPE_AUDIO: codec->sample_rate = get_be32(pb);