|
|
|
@ -40,6 +40,11 @@ static const char *var_names[] = { |
|
|
|
|
"in_h", "ih", ///< height of the input video
|
|
|
|
|
"out_w", "ow", ///< width of the cropped video
|
|
|
|
|
"out_h", "oh", ///< height of the cropped video
|
|
|
|
|
"a", |
|
|
|
|
"sar", |
|
|
|
|
"dar", |
|
|
|
|
"hsub", |
|
|
|
|
"vsub", |
|
|
|
|
"x", |
|
|
|
|
"y", |
|
|
|
|
"n", ///< number of frame
|
|
|
|
@ -56,6 +61,11 @@ enum var_name { |
|
|
|
|
VAR_IN_H, VAR_IH, |
|
|
|
|
VAR_OUT_W, VAR_OW, |
|
|
|
|
VAR_OUT_H, VAR_OH, |
|
|
|
|
VAR_A, |
|
|
|
|
VAR_SAR, |
|
|
|
|
VAR_DAR, |
|
|
|
|
VAR_HSUB, |
|
|
|
|
VAR_VSUB, |
|
|
|
|
VAR_X, |
|
|
|
|
VAR_Y, |
|
|
|
|
VAR_N, |
|
|
|
@ -162,6 +172,11 @@ static int config_input(AVFilterLink *link) |
|
|
|
|
crop->var_values[VAR_PI] = M_PI; |
|
|
|
|
crop->var_values[VAR_IN_W] = crop->var_values[VAR_IW] = ctx->inputs[0]->w; |
|
|
|
|
crop->var_values[VAR_IN_H] = crop->var_values[VAR_IH] = ctx->inputs[0]->h; |
|
|
|
|
crop->var_values[VAR_A] = (float) link->w / link->h; |
|
|
|
|
crop->var_values[VAR_SAR] = link->sample_aspect_ratio.num ? av_q2d(link->sample_aspect_ratio) : 1; |
|
|
|
|
crop->var_values[VAR_DAR] = crop->var_values[VAR_A] * crop->var_values[VAR_SAR]; |
|
|
|
|
crop->var_values[VAR_HSUB] = 1<<pix_desc->log2_chroma_w; |
|
|
|
|
crop->var_values[VAR_VSUB] = 1<<pix_desc->log2_chroma_h; |
|
|
|
|
crop->var_values[VAR_X] = NAN; |
|
|
|
|
crop->var_values[VAR_Y] = NAN; |
|
|
|
|
crop->var_values[VAR_OUT_W] = crop->var_values[VAR_OW] = NAN; |
|
|
|
|