mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
-sws_flags command line option to set swscaler flags
Originally committed as revision 9109 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d61845e8ae
commit
3592648940
@ -416,6 +416,8 @@ Add a new video stream to the current output stream.
|
||||
@table @option
|
||||
@item -pix_fmt format
|
||||
Set pixel format.
|
||||
@item -sws_flags flags
|
||||
Set SwScaler flags (only available when compiled with SwScaler support).
|
||||
@item -g gop_size
|
||||
Set the group of pictures size.
|
||||
@item -intra
|
||||
|
14
ffmpeg.c
14
ffmpeg.c
@ -208,6 +208,7 @@ const char **opt_names=NULL;
|
||||
int opt_name_count=0;
|
||||
AVCodecContext *avctx_opts[CODEC_TYPE_NB];
|
||||
AVFormatContext *avformat_opts;
|
||||
struct SwsContext *sws_opts;
|
||||
static int64_t timer_start = 0;
|
||||
|
||||
static AVBitStreamFilterContext *video_bitstream_filters=NULL;
|
||||
@ -1609,6 +1610,9 @@ static int av_encode(AVFormatContext **output_files,
|
||||
fprintf(stderr, "Cannot allocate temp picture, check pix fmt\n");
|
||||
exit(1);
|
||||
}
|
||||
#ifdef CONFIG_SWSCALER
|
||||
sws_flags = av_get_int(sws_opts, "sws_flags", NULL);
|
||||
#endif
|
||||
ost->img_resample_ctx = sws_getContext(
|
||||
icodec->width - (frame_leftBand + frame_rightBand),
|
||||
icodec->height - (frame_topBand + frame_bottomBand),
|
||||
@ -3517,6 +3521,10 @@ static int opt_default(const char *opt, const char *arg){
|
||||
}
|
||||
if(!o)
|
||||
o = av_set_string(avformat_opts, opt, arg);
|
||||
#ifdef CONFIG_SWSCALER
|
||||
if(!o)
|
||||
o = av_set_string(sws_opts, opt, arg);
|
||||
#endif
|
||||
if(!o){
|
||||
if(opt[0] == 'a')
|
||||
o = av_set_string(avctx_opts[CODEC_TYPE_AUDIO], opt+1, arg);
|
||||
@ -3759,6 +3767,9 @@ static void show_help(void)
|
||||
OPT_EXPERT);
|
||||
av_opt_show(avctx_opts[0], NULL);
|
||||
av_opt_show(avformat_opts, NULL);
|
||||
#ifdef CONFIG_SWSCALER
|
||||
av_opt_show(sws_opts, NULL);
|
||||
#endif
|
||||
|
||||
exit(1);
|
||||
}
|
||||
@ -3779,6 +3790,9 @@ int main(int argc, char **argv)
|
||||
avctx_opts[i]= avcodec_alloc_context2(i);
|
||||
}
|
||||
avformat_opts = av_alloc_format_context();
|
||||
#ifdef CONFIG_SWSCALER
|
||||
sws_opts = sws_getContext(16, 16, 0, 16, 16, 0, sws_flags, NULL,NULL,NULL);
|
||||
#endif
|
||||
|
||||
if (argc <= 1)
|
||||
show_help();
|
||||
|
Loading…
Reference in New Issue
Block a user