diff --git a/ffserver.c b/ffserver.c index 394134b373..94751e7db7 100644 --- a/ffserver.c +++ b/ffserver.c @@ -4146,6 +4146,11 @@ static int parse_ffconfig(const char *filename) video_enc.mb_decision = FF_MB_DECISION_BITS; //FIXME remove video_enc.flags |= CODEC_FLAG_4MV; } + } else if (!strcasecmp(cmd, "VideoTag")) { + get_arg(arg, sizeof(arg), &p); + if ((strlen(arg) == 4) && stream) { + video_enc.codec_tag = ff_get_fourcc(arg); + } } else if (!strcasecmp(cmd, "BitExact")) { if (stream) { video_enc.flags |= CODEC_FLAG_BITEXACT; diff --git a/libavformat/ffm.c b/libavformat/ffm.c index cc7c6aac16..a2970ae423 100644 --- a/libavformat/ffm.c +++ b/libavformat/ffm.c @@ -201,6 +201,7 @@ static int ffm_write_header(AVFormatContext *s) put_be32(pb, codec->nsse_weight); put_be32(pb, codec->frame_skip_cmp); put_be64(pb, av_dbl2int(codec->rc_buffer_aggressivity)); + put_be32(pb, codec->codec_tag); break; case CODEC_TYPE_AUDIO: put_be32(pb, codec->sample_rate); @@ -534,6 +535,7 @@ static int ffm_read_header(AVFormatContext *s, AVFormatParameters *ap) codec->nsse_weight = get_be32(pb); codec->frame_skip_cmp = get_be32(pb); codec->rc_buffer_aggressivity = av_int2dbl(get_be64(pb)); + codec->codec_tag = get_be32(pb); break; case CODEC_TYPE_AUDIO: codec->sample_rate = get_be32(pb);