diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-06-01 18:06:18 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-06-01 19:15:46 +0400 |
commit | 0949ff93c03a92214a76aad1663c1a04bf36e8f4 (patch) | |
tree | 04f784a04317634984b0dcc86ca819772b78b544 | |
parent | 862120f98049dc4bd0919d431a4f07a64fab77ec (diff) |
ffmpeg_filter: fix choose_pix_fmts() so it uses the correct encoding context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffmpeg_filter.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index ae28034590..25d925a231 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -102,18 +102,18 @@ static char *choose_pix_fmts(OutputStream *ost) AVDictionaryEntry *strict_dict = av_dict_get(ost->encoder_opts, "strict", NULL, 0); if (strict_dict) // used by choose_pixel_fmt() and below - av_opt_set(ost->st->codec, "strict", strict_dict->value, 0); + av_opt_set(ost->enc_ctx, "strict", strict_dict->value, 0); if (ost->keep_pix_fmt) { if (ost->filter) avfilter_graph_set_auto_convert(ost->filter->graph->graph, AVFILTER_AUTO_CONVERT_NONE); - if (ost->st->codec->pix_fmt == AV_PIX_FMT_NONE) + if (ost->enc_ctx->pix_fmt == AV_PIX_FMT_NONE) return NULL; - return av_strdup(av_get_pix_fmt_name(ost->st->codec->pix_fmt)); + return av_strdup(av_get_pix_fmt_name(ost->enc_ctx->pix_fmt)); } - if (ost->st->codec->pix_fmt != AV_PIX_FMT_NONE) { - return av_strdup(av_get_pix_fmt_name(choose_pixel_fmt(ost->st, ost->enc, ost->st->codec->pix_fmt))); + if (ost->enc_ctx->pix_fmt != AV_PIX_FMT_NONE) { + return av_strdup(av_get_pix_fmt_name(choose_pixel_fmt(ost->st, ost->enc, ost->enc_ctx->pix_fmt))); } else if (ost->enc && ost->enc->pix_fmts) { const enum AVPixelFormat *p; AVIOContext *s = NULL; @@ -124,10 +124,10 @@ static char *choose_pix_fmts(OutputStream *ost) exit_program(1); p = ost->enc->pix_fmts; - if (ost->st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) { - if (ost->st->codec->codec_id == AV_CODEC_ID_MJPEG) { + if (ost->enc_ctx->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) { + if (ost->enc_ctx->codec_id == AV_CODEC_ID_MJPEG) { p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE }; - } else if (ost->st->codec->codec_id == AV_CODEC_ID_LJPEG) { + } else if (ost->enc_ctx->codec_id == AV_CODEC_ID_LJPEG) { p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE }; } |