[FFmpeg-devel] [PATCH 5/6] ffmpeg: make -s work for subtitles too.
Philip Langdale
philipl at overt.org
Thu Aug 9 18:27:56 CEST 2012
On 09.08.2012 04:10, Nicolas George wrote:
> Some codecs allow to encode the frame size and some players use it.
>
> Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
> ---
> ffmpeg_opt.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
>
> Rebased on top of Anton's split.
>
>
> diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
> index f78d8d9..91b4930 100644
> --- a/ffmpeg_opt.c
> +++ b/ffmpeg_opt.c
> @@ -1218,6 +1218,16 @@ static OutputStream
> *new_subtitle_stream(OptionsContext *o, AVFormatContext *oc,
>
> MATCH_PER_STREAM_OPT(copy_initial_nonkeyframes, i,
> ost->copy_initial_nonkeyframes, oc, st);
>
> + if (!ost->stream_copy) {
> + char *frame_size = NULL;
> +
> + MATCH_PER_STREAM_OPT(frame_sizes, str, frame_size, oc, st);
> + if (frame_size && av_parse_video_size(&subtitle_enc->width,
> &subtitle_enc->height, frame_size) < 0) {
> + av_log(NULL, AV_LOG_FATAL, "Invalid frame size: %s.\n",
> frame_size);
> + exit_program(1);
> + }
> + }
> +
> return ost;
> }
>
> @@ -2216,7 +2226,7 @@ const OptionDef options[] = {
> /* video options */
> { "vframes", HAS_ARG | OPT_VIDEO | OPT_FUNC2,
> {(void*)opt_video_frames}, "set the number of video frames to
> record",
> "number" },
> { "r", HAS_ARG | OPT_VIDEO | OPT_STRING | OPT_SPEC, {.off =
> OFFSET(frame_rates)}, "set frame rate (Hz value, fraction or
> abbreviation)", "rate" },
> - { "s", HAS_ARG | OPT_VIDEO | OPT_STRING | OPT_SPEC, {.off =
> OFFSET(frame_sizes)}, "set frame size (WxH or abbreviation)", "size"
> },
> + { "s", HAS_ARG | OPT_VIDEO | OPT_SUBTITLE | OPT_STRING |
> OPT_SPEC, {.off = OFFSET(frame_sizes)}, "set frame size (WxH or
> abbreviation)", "size" },
> { "aspect", HAS_ARG | OPT_VIDEO | OPT_STRING | OPT_SPEC, {.off =
> OFFSET(frame_aspect_ratios)}, "set aspect ratio (4:3, 16:9 or 1.3333,
> 1.7777)", "aspect" },
> { "pix_fmt", HAS_ARG | OPT_EXPERT | OPT_VIDEO | OPT_STRING |
> OPT_SPEC, {.off = OFFSET(frame_pix_fmts)}, "set pixel format",
> "format" },
> { "bits_per_raw_sample", OPT_INT | HAS_ARG | OPT_VIDEO,
> {(void*)&frame_bits_per_raw_sample}, "set the number of bits per raw
> sample", "number" },
Looks good to me.
--phil
More information about the ffmpeg-devel
mailing list