mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
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.
This commit is contained in:
parent
f4075767b2
commit
9c4943e671
6
ffmpeg.c
6
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;
|
||||
|
Loading…
Reference in New Issue
Block a user