[FFmpeg-devel] [PATCH] ffmpeg: copy color properties in case of -c:v copy.
wm4
nfxjfg at googlemail.com
Wed May 4 12:44:52 CEST 2016
On Tue, 3 May 2016 15:21:00 -0400
"Ronald S. Bultje" <rsbultje at gmail.com> wrote:
> I have no idea why the first hunk uses ost->enc_ctx, because as far as
> I understand, that is never used in case of -c:v copy, but this code
> block is only entered if encoding_needed=0, which means stream_copy=1.
> My point being: review from someone that knows this really well would
> be appreciated.
> ---
> ffmpeg.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/ffmpeg.c b/ffmpeg.c
> index adc3ff7..c72333e 100644
> --- a/ffmpeg.c
> +++ b/ffmpeg.c
> @@ -2678,7 +2678,7 @@ static int init_output_stream(OutputStream *ost, char *error, int error_len)
> ost->st->time_base = av_add_q(ost->enc_ctx->time_base, (AVRational){0, 1});
> ost->st->codec->codec= ost->enc_ctx->codec;
> } else {
> - ret = av_opt_set_dict(ost->enc_ctx, &ost->encoder_opts);
> + ret = av_opt_set_dict(ost->st->codec, &ost->encoder_opts);
> if (ret < 0) {
> av_log(NULL, AV_LOG_FATAL,
> "Error setting up codec context options.\n");
> @@ -3011,6 +3011,10 @@ static int transcode_init(void)
> break;
> case AVMEDIA_TYPE_VIDEO:
> enc_ctx->pix_fmt = dec_ctx->pix_fmt;
> + enc_ctx->colorspace = dec_ctx->colorspace;
> + enc_ctx->color_range = dec_ctx->color_range;
> + enc_ctx->color_primaries = dec_ctx->color_primaries;
> + enc_ctx->color_trc = dec_ctx->color_trc;
> enc_ctx->width = dec_ctx->width;
> enc_ctx->height = dec_ctx->height;
> enc_ctx->has_b_frames = dec_ctx->has_b_frames;
Shouldn't it copy the codecpar instead?
More information about the ffmpeg-devel
mailing list