@ -941,7 +941,8 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
OutputStream * ost ;
OutputStream * ost ;
AVStream * st = avformat_new_stream ( oc , NULL ) ;
AVStream * st = avformat_new_stream ( oc , NULL ) ;
int idx = oc - > nb_streams - 1 , ret = 0 ;
int idx = oc - > nb_streams - 1 , ret = 0 ;
char * bsf = NULL , * next , * codec_tag = NULL ;
const char * bsfs = NULL ;
char * next , * codec_tag = NULL ;
double qscale = - 1 ;
double qscale = - 1 ;
if ( ! st ) {
if ( ! st ) {
@ -1007,18 +1008,21 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
ost - > max_frames = INT64_MAX ;
ost - > max_frames = INT64_MAX ;
MATCH_PER_STREAM_OPT ( max_frames , i64 , ost - > max_frames , oc , st ) ;
MATCH_PER_STREAM_OPT ( max_frames , i64 , ost - > max_frames , oc , st ) ;
MATCH_PER_STREAM_OPT ( bitstream_filters , str , bsf , oc , st ) ;
MATCH_PER_STREAM_OPT ( bitstream_filters , str , bsfs , oc , st ) ;
while ( bsf ) {
while ( bsfs & & * bsfs ) {
const AVBitStreamFilter * filter ;
const AVBitStreamFilter * filter ;
char * bsf ;
if ( next = strchr ( bsf , ' , ' ) )
bsf = av_get_token ( & bsfs , " , " ) ;
* next + + = 0 ;
if ( ! bsf )
exit_program ( 1 ) ;
filter = av_bsf_get_by_name ( bsf ) ;
filter = av_bsf_get_by_name ( bsf ) ;
if ( ! filter ) {
if ( ! filter ) {
av_log ( NULL , AV_LOG_FATAL , " Unknown bitstream filter %s \n " , bsf ) ;
av_log ( NULL , AV_LOG_FATAL , " Unknown bitstream filter %s \n " , bsf ) ;
exit_program ( 1 ) ;
exit_program ( 1 ) ;
}
}
av_freep ( & bsf ) ;
ost - > bitstream_filters = av_realloc_array ( ost - > bitstream_filters ,
ost - > bitstream_filters = av_realloc_array ( ost - > bitstream_filters ,
ost - > nb_bitstream_filters + 1 ,
ost - > nb_bitstream_filters + 1 ,
@ -1027,8 +1031,8 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
exit_program ( 1 ) ;
exit_program ( 1 ) ;
ost - > bitstream_filters [ ost - > nb_bitstream_filters + + ] = filter ;
ost - > bitstream_filters [ ost - > nb_bitstream_filters + + ] = filter ;
if ( * bsfs )
bsf = next ;
bsfs + + ;
}
}
MATCH_PER_STREAM_OPT ( codec_tags , str , codec_tag , oc , st ) ;
MATCH_PER_STREAM_OPT ( codec_tags , str , codec_tag , oc , st ) ;