📄 raw2yuv.c
字号:
#include "global.h"#include "dec.h"#include "utils.h"int main(int argc, char *argv[]) { if (argc < 2) { fprintf(stderr, "Usage: %s file\n", argv[0]); return -1; } if (argc == 2 && !strcmp(argv[1], "-h")) { fprintf(stderr, "Usage: %s file\n", argv[0]); return 0; } char filename[24]; int i = 1; for (; i<argc; ++i) { int fdi = open(argv[i], O_RDONLY); if (fdi < 0) { perror(argv[i]); return -1; } char *suffix = strrchr(argv[i], '.'); if (suffix != NULL && !strcmp(suffix + 1, "raw")) { int len = suffix-argv[i]; memcpy(filename, argv[i], len); sprintf(filename+len, ".yuv"); } else { fprintf(stderr, "invalid filename: %s\n", argv[i]); return -1; } unsigned char *src = mmap(NULL, RAW_SIZE, PROT_READ, MAP_SHARED, fdi, 0); if (src == MAP_FAILED) { perror("mmap"); return -1; } unsigned char dst[YUV_SIZE]; dec_init(); dec_process(src, dst); msave(filename, dst, YUV_SIZE); close(fdi); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -