codec_tag settable via VideoTag, and transmit codec_tag in ffm

Originally committed as revision 8071 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Beregszaszi 2007-02-22 13:23:38 +00:00
parent b24daebf22
commit 038a1243a2
2 changed files with 7 additions and 0 deletions

View File

@ -4146,6 +4146,11 @@ static int parse_ffconfig(const char *filename)
video_enc.mb_decision = FF_MB_DECISION_BITS; //FIXME remove video_enc.mb_decision = FF_MB_DECISION_BITS; //FIXME remove
video_enc.flags |= CODEC_FLAG_4MV; 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")) { } else if (!strcasecmp(cmd, "BitExact")) {
if (stream) { if (stream) {
video_enc.flags |= CODEC_FLAG_BITEXACT; video_enc.flags |= CODEC_FLAG_BITEXACT;

View File

@ -201,6 +201,7 @@ static int ffm_write_header(AVFormatContext *s)
put_be32(pb, codec->nsse_weight); put_be32(pb, codec->nsse_weight);
put_be32(pb, codec->frame_skip_cmp); put_be32(pb, codec->frame_skip_cmp);
put_be64(pb, av_dbl2int(codec->rc_buffer_aggressivity)); put_be64(pb, av_dbl2int(codec->rc_buffer_aggressivity));
put_be32(pb, codec->codec_tag);
break; break;
case CODEC_TYPE_AUDIO: case CODEC_TYPE_AUDIO:
put_be32(pb, codec->sample_rate); 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->nsse_weight = get_be32(pb);
codec->frame_skip_cmp = get_be32(pb); codec->frame_skip_cmp = get_be32(pb);
codec->rc_buffer_aggressivity = av_int2dbl(get_be64(pb)); codec->rc_buffer_aggressivity = av_int2dbl(get_be64(pb));
codec->codec_tag = get_be32(pb);
break; break;
case CODEC_TYPE_AUDIO: case CODEC_TYPE_AUDIO:
codec->sample_rate = get_be32(pb); codec->sample_rate = get_be32(pb);