| 935 | DEF_MIRROR_STRIDE_FUNC(mirror_stride, 8) |
| 936 | |
| 937 | void hb_frame_buffer_mirror_stride(hb_buffer_t * buf) |
| 938 | { |
| 939 | const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(buf->f.fmt); |
| 940 | int depth = desc->comp[0].depth > 8 ? 2 : 1; |
| 941 | |
| 942 | for (int pp = 0; pp <= buf->f.max_plane; pp++) |
| 943 | { |
| 944 | if (buf->plane[pp].data != NULL) |
| 945 | { |
| 946 | switch (depth) |
| 947 | { |
| 948 | case 8: |
| 949 | mirror_stride_8(buf->plane[pp].data, buf->plane[pp].width, |
| 950 | buf->plane[pp].height, buf->plane[pp].stride); |
| 951 | break; |
| 952 | default: |
| 953 | mirror_stride_16(buf->plane[pp].data, buf->plane[pp].width, |
| 954 | buf->plane[pp].height, buf->plane[pp].stride); |
| 955 | break; |
| 956 | } |
| 957 | } |
| 958 | } |
| 959 | } |
| 960 | |
| 961 | // this routine reallocs a buffer for an uncompressed video frame |
| 962 | // with dimensions width x height. |