50 sscanf(args,
"%d", &trans->
dir);
52 if (trans->
dir < 0 || trans->
dir > 3) {
102 outlink->
w = inlink->
h;
103 outlink->
h = inlink->
w;
111 inlink->
w, inlink->
h, trans->
dir, outlink->
w, outlink->
h,
112 trans->
dir == 1 || trans->
dir == 3 ?
"clockwise" :
"counterclockwise",
113 trans->
dir == 0 || trans->
dir == 3);
122 outlink->
w, outlink->
h);
143 for (plane = 0; outpic->
data[plane]; plane++) {
144 int hsub = plane == 1 || plane == 2 ? trans->
hsub : 0;
145 int vsub = plane == 1 || plane == 2 ? trans->
vsub : 0;
146 int pixstep = trans->
pixsteps[plane];
147 int inh = inpic->
video->
h>>vsub;
148 int outw = outpic->
video->
w>>hsub;
149 int outh = outpic->
video->
h>>vsub;
151 int outlinesize, inlinesize;
154 out = outpic->
data[plane]; outlinesize = outpic->
linesize[plane];
155 in = inpic ->
data[plane]; inlinesize = inpic ->
linesize[plane];
158 in += inpic->
linesize[plane] * (inh-1);
163 out += outpic->
linesize[plane] * (outh-1);
167 for (y = 0; y < outh; y++) {
170 for (x = 0; x < outw; x++)
171 out[x] = in[x*inlinesize + y];
174 for (x = 0; x < outw; x++)
175 *((uint16_t *)(out + 2*x)) = *((uint16_t *)(in + x*inlinesize + y*2));
178 for (x = 0; x < outw; x++) {
179 int32_t
v =
AV_RB24(in + x*inlinesize + y*3);
184 for (x = 0; x < outw; x++)
185 *((uint32_t *)(out + 4*x)) = *((uint32_t *)(in + x*inlinesize + y*4));