diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2016-05-03 15:20:48 -0400 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2016-05-10 08:37:56 -0400 |
commit | 9c4943e6710d9e57dac7547d7136b619cfff23a2 (patch) | |
tree | c8845d566c0aa85c550e8b39151a5ca5fd3aee48 | |
parent | f4075767b20fd9b7ecb6b4c15a4ede45361d3ab5 (diff) | |
download | ffmpeg-9c4943e6710d9e57dac7547d7136b619cfff23a2.tar.gz |
ffmpeg: copy color properties in case of -c:v copy.
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.
-rw-r--r-- | ffmpeg.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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; |