| | |
| | | int uvWidth = srcWidth / 2; |
| | | int uvHeight = srcHeight / 2; |
| | | |
| | | int64_t t2 = getCurrentTimestamp(); |
| | | // 填充 Y 平面的黑边 |
| | | // 上边 |
| | | int light = 255 * (1 - (t2%1000 / 1000.0)); |
| | | for (int x = 0; x < srcWidth; x++) { |
| | | if(light >= 255){ |
| | | light = 0 ; |
| | | } |
| | | light++; |
| | | for (int y = 0; y < borderWidth; y++) { |
| | | memset(yuvData[0] + y * srcWidth + x, light, 1); |
| | | } |
| | | } |
| | | for (int y = borderWidth; y < srcHeight - borderWidth; y++) { |
| | | if(light >= 255){ |
| | | light = 0 ; |
| | | } |
| | | light++; |
| | | memset(yuvData[0] + y * srcWidth + srcWidth - borderWidth, light, borderWidth); // 右边 |
| | | for (int y = 0; y < borderWidth; y++) { |
| | | memset(yuvData[0] + y * srcWidth, 0, srcWidth); |
| | | } |
| | | // 下边 |
| | | for (int x = srcWidth; x > 0; x--) { |
| | | if(light >= 255){ |
| | | light = 0 ; |
| | | } |
| | | light++; |
| | | for (int y = srcHeight - borderWidth; y < srcHeight; y++) { |
| | | memset(yuvData[0] + y * srcWidth + x - 1, light, 1); |
| | | } |
| | | for (int y = srcHeight - borderWidth; y < srcHeight; y++) { |
| | | memset(yuvData[0] + y * srcWidth, 0, srcWidth); |
| | | } |
| | | for (int y = srcHeight - borderWidth; y > 0 ; y--) { |
| | | if(light >= 255){ |
| | | light = 0 ; |
| | | } |
| | | light++; |
| | | memset(yuvData[0] + y * srcWidth, light, borderWidth); // 左边 |
| | | // 左边和右边 |
| | | for (int y = borderWidth; y < srcHeight - borderWidth; y++) { |
| | | memset(yuvData[0] + y * srcWidth, 0, borderWidth); // 左边 |
| | | memset(yuvData[0] + y * srcWidth + srcWidth - borderWidth, 0, borderWidth); // 右边 |
| | | } |
| | | |
| | | // 填充 U 和 V 平面的黑边(边框宽度在 U 和 V 平面上缩小一半) |