|
|
|
@ -1960,6 +1960,8 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context, int srcW, |
|
|
|
|
{ |
|
|
|
|
static const double default_param[2] = { SWS_PARAM_DEFAULT, |
|
|
|
|
SWS_PARAM_DEFAULT }; |
|
|
|
|
int64_t src_h_chr_pos = -513, dst_h_chr_pos = -513, |
|
|
|
|
src_v_chr_pos = -513, dst_v_chr_pos = -513; |
|
|
|
|
|
|
|
|
|
if (!param) |
|
|
|
|
param = default_param; |
|
|
|
@ -1974,6 +1976,11 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context, int srcW, |
|
|
|
|
context->flags != flags || |
|
|
|
|
context->param[0] != param[0] || |
|
|
|
|
context->param[1] != param[1])) { |
|
|
|
|
|
|
|
|
|
av_opt_get_int(context, "src_h_chr_pos", 0, &src_h_chr_pos); |
|
|
|
|
av_opt_get_int(context, "src_v_chr_pos", 0, &src_v_chr_pos); |
|
|
|
|
av_opt_get_int(context, "dst_h_chr_pos", 0, &dst_h_chr_pos); |
|
|
|
|
av_opt_get_int(context, "dst_v_chr_pos", 0, &dst_v_chr_pos); |
|
|
|
|
sws_freeContext(context); |
|
|
|
|
context = NULL; |
|
|
|
|
} |
|
|
|
@ -1990,6 +1997,12 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context, int srcW, |
|
|
|
|
context->flags = flags; |
|
|
|
|
context->param[0] = param[0]; |
|
|
|
|
context->param[1] = param[1]; |
|
|
|
|
|
|
|
|
|
av_opt_set_int(context, "src_h_chr_pos", src_h_chr_pos, 0); |
|
|
|
|
av_opt_set_int(context, "src_v_chr_pos", src_v_chr_pos, 0); |
|
|
|
|
av_opt_set_int(context, "dst_h_chr_pos", dst_h_chr_pos, 0); |
|
|
|
|
av_opt_set_int(context, "dst_v_chr_pos", dst_v_chr_pos, 0); |
|
|
|
|
|
|
|
|
|
if (sws_init_context(context, srcFilter, dstFilter) < 0) { |
|
|
|
|
sws_freeContext(context); |
|
|
|
|
return NULL; |
|
|
|
|