Allow to overwrite input stream tags.

pull/2/head
Carl Eugen Hoyos 13 years ago
parent 02b651a7e3
commit 6bca574a98
  1. 2
      doc/ffmpeg.texi
  2. 9
      ffmpeg.c

@ -864,7 +864,7 @@ ffmpeg -i h264.mp4 -c:v copy -vbsf h264_mp4toannexb -an out.h264
ffmpeg -i file.mov -an -vn -sbsf mov2textsub -c:s copy -f rawvideo sub.txt ffmpeg -i file.mov -an -vn -sbsf mov2textsub -c:s copy -f rawvideo sub.txt
@end example @end example
@item -tag[:@var{stream_specifier}] @var{codec_tag} (@emph{output,per-stream}) @item -tag[:@var{stream_specifier}] @var{codec_tag} (@emph{per-stream})
Force a tag/fourcc for matching streams. Force a tag/fourcc for matching streams.
@end table @end table

@ -2988,6 +2988,7 @@ static AVCodec *choose_codec(OptionsContext *o, AVFormatContext *s, AVStream *st
static void add_input_streams(OptionsContext *o, AVFormatContext *ic) static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
{ {
int i, rfps, rfps_base; int i, rfps, rfps_base;
char *next, *codec_tag = NULL;
for (i = 0; i < ic->nb_streams; i++) { for (i = 0; i < ic->nb_streams; i++) {
AVStream *st = ic->streams[i]; AVStream *st = ic->streams[i];
@ -3005,6 +3006,14 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
MATCH_PER_STREAM_OPT(ts_scale, dbl, scale, ic, st); MATCH_PER_STREAM_OPT(ts_scale, dbl, scale, ic, st);
ist->ts_scale = scale; ist->ts_scale = scale;
MATCH_PER_STREAM_OPT(codec_tags, str, codec_tag, ic, st);
if (codec_tag) {
uint32_t tag = strtol(codec_tag, &next, 0);
if (*next)
tag = AV_RL32(codec_tag);
st->codec->codec_tag = tag;
}
ist->dec = choose_codec(o, ic, st, dec->codec_type); ist->dec = choose_codec(o, ic, st, dec->codec_type);
if (!ist->dec) if (!ist->dec)
ist->dec = avcodec_find_decoder(dec->codec_id); ist->dec = avcodec_find_decoder(dec->codec_id);

Loading…
Cancel
Save