#include <turbojpeg.h>
static unsigned char pixel[HEIGHT][WIDTH][3];
/* ---------- 编码: 一行搞定 ----------
     * tjCompress2(句柄, 像素, 宽, 行间距pitch=0, 高, 像素格式TJPF_RGB,
     *             输出缓冲指针, 输出长度, 采样TJSAMP_420, 质量, 标志0)
     * 内部自动: RGB→YCbCr + 4:2:0 下采样 + 量化 + Huffman, 全部打包 */
unsigned char *jout = NULL;
unsigned long jout_size = 0;
tjhandle tj = tjInitCompress();
if (tjCompress2(tj, (unsigned char *)pixel, 640, 0, 480, TJPF_RGB,
                &jout, &jout_size, TJSAMP_420, 85, 0) < 0) {
    fprintf(stderr, "编码失败: %s\n", tjGetErrorStr());
    return 1;
}

FILE *fp = fopen("turbo_out.jpg", "wb");
fwrite(jout, 1, jout_size, fp);
fclose(fp);
tjFree(jout);          /* 输出缓冲由 tjCompress2 分配, 用 tjFree 释放 */
tjDestroy(tj);