apply_lut(&(mySettings.param[0]),YPLANE(imgdisplay),YPLANE(imgsrc),w,h); apply_lut(&(mySettings.param[2]),UPLANE(imgdisplay),UPLANE(imgsrc),w>>1,h>>1); apply_lut(&(mySettings.param[1]),VPLANE(imgdisplay),VPLANE(imgsrc),w>>1,h>>1);
void update(void ){uint8_t *src,*dst;uint32_t stride;        update_lut(&mySettings,&myEq2);        apply_lut(&(mySettings.param[0]),YPLANE(imgdisplay),YPLANE(imgsrc),w,h);        apply_lut(&(mySettings.param[2]),UPLANE(imgdisplay),UPLANE(imgsrc),w>>1,h>>1);        apply_lut(&(mySettings.param[1]),VPLANE(imgdisplay),VPLANE(imgsrc),w>>1,h>>1);               // copy Y half    dst=YPLANE(imgdisplay);    src=YPLANE(imgsrc);    stride=w;    for(uint32_t y=0;y<h;y++)   // We do both u & v!    {        memcpy(dst,src,stride>>1);        dst+=stride;        src+=stride;    }        // U    dst=UPLANE(imgdisplay);    src=UPLANE(imgsrc);    stride=w>>1;    for(uint32_t y=0;y<h>>1;y++)   // We do both u & v!    {        memcpy(dst,src,stride>>1);        dst+=stride;        src+=stride;    }        // V    dst=VPLANE(imgdisplay);    src=VPLANE(imgsrc);    stride=w>>1;    for(uint32_t y=0;y<h>>1;y++)   // We do both u & v!    {        memcpy(dst,src,stride>>1);        dst+=stride;        src+=stride;    }    //    COL_yv12rgb(  w,   h,imgdisplay->data,(uint8_t *)rgbbuffer );}