void Rotate90(const AVFrame* src, AVFrame* dst)
{
int half_width = src->width >> 1;
int half_height = src->height >> 1;
int size = src->linesize[0] * src->height;
int half_size = size >> 2;
for (int j = 0, n = 0; j < src->width; j++) {
int pos = size;
for (int i = src->height - 1; i >= 0; i--) {
pos -= src->linesize[0];
dst->data[0][n++] = src->data[0][pos + j];
}
}
for (int j = 0, n = 0; j < half_width; j++) {
int pos = half_size;
for (int i = half_height - 1; i >= 0; i--) {
pos -= src->linesize[1];
dst->data[1][n] = src->data[1][pos + j];
dst->data[2][n++] = src->data[2][pos + j];
}
}
dst->height = src->width;
dst->width = src->height;
}
void Rotate180(const AVFrame* src, AVFrame* dst)
{
int half_width = src->width >> 1;
int half_height = src->height >> 1;
int pos = src->linesize[0] * src->height;
for (int i = 0, n = 0; i < src->height; i++) {
pos -= src->linesize[0];
for (int j = src->width - 1; j >= 0; j--) {
dst->data[0][n++] = src->data[0][pos + j];
}
}
pos = src->linesize[0] * src->height >> 2;
for (int i = 0, n = 0; i < half_height; i++) {
pos -= src->linesize[1];
for (int j = half_width - 1; j >= 0; j--) {
dst->data[1][n] = src->data[1][pos + j];
dst->data[2][n++] = src->data[2][pos + j];
}
}
dst->width = src->width;
dst->height = src->height;
}
void Rotate270(const AVFrame* src, AVFrame* dst)
{
int half_width = src->linesize[0] >> 1;
int half_height = src->height >> 1;
for (int i = src->width - 1, n = 0; i >= 0; i--) {
for (int j = 0, pos = 0; j < src->height; j++) {
dst->data[0][n++] = src->data[0][pos + i];
pos += src->linesize[0];
}
}
for (int i = (src->width >> 1) - 1, n = 0; i >= 0; i--) {
for (int j = 0, pos = 0; j < half_height; j++) {
dst->data[1][n] = src->data[1][pos + i];
dst->data[2][n++] = src->data[2][pos + i];
pos += half_width;
}
}
dst->width = src->height;
dst->height = src->width;
}
yuv420p旋转
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...