56 sscanf(args,
"%d", &trans->
dir);
58 if (trans->
dir < 0 || trans->
dir > 3) {
109 outlink->
w = inlink->
h;
110 outlink->
h = inlink->
w;
118 inlink->
w, inlink->
h, trans->
dir, outlink->
w, outlink->
h,
119 trans->
dir == 1 || trans->
dir == 3 ?
"clockwise" :
"counterclockwise",
120 trans->
dir == 0 || trans->
dir == 3);
146 for (plane = 0; out->
data[plane]; plane++) {
147 int hsub = plane == 1 || plane == 2 ? trans->
hsub : 0;
148 int vsub = plane == 1 || plane == 2 ? trans->
vsub : 0;
149 int pixstep = trans->
pixsteps[plane];
150 int inh = in->
video->
h>>vsub;
151 int outw = out->
video->
w>>hsub;
152 int outh = out->
video->
h>>vsub;
154 int dstlinesize, srclinesize;
157 dst = out->
data[plane];
159 src = in->
data[plane];
163 src += in->
linesize[plane] * (inh-1);
168 dst += out->
linesize[plane] * (outh-1);
172 for (y = 0; y < outh; y++) {
175 for (x = 0; x < outw; x++)
176 dst[x] = src[x*srclinesize + y];
179 for (x = 0; x < outw; x++)
180 *((uint16_t *)(dst + 2*x)) = *((uint16_t *)(src + x*srclinesize + y*2));
183 for (x = 0; x < outw; x++) {
189 for (x = 0; x < outw; x++)
190 *((uint32_t *)(dst + 4*x)) = *((uint32_t *)(src + x*srclinesize + y*4));
229 .
inputs = avfilter_vf_transpose_inputs,
230 .
outputs = avfilter_vf_transpose_outputs,