📄 macroblock.cpp
字号:
img->mprr[DIAG_DOWN_LEFT_PRED][10] =
img->mprr[DIAG_DOWN_LEFT_PRED][13] = (pe + pg + (pf<<1) + 2) >>2;
img->mprr[DIAG_DOWN_LEFT_PRED][11] =
img->mprr[DIAG_DOWN_LEFT_PRED][14] = (pf + ph + (pg<<1) + 2) >>2;
img->mprr[DIAG_DOWN_LEFT_PRED][15] = (pg + 3*(ph) + 2) >>2;
// Mode VERT_LEFT_PRED
img->mprr[VERT_LEFT_PRED][0] = (pa + pb + 1) >>1;
img->mprr[VERT_LEFT_PRED][1] =
img->mprr[VERT_LEFT_PRED][8] = (pb + pc + 1) >>1;
img->mprr[VERT_LEFT_PRED][2] =
img->mprr[VERT_LEFT_PRED][9] = (pc + pd + 1) >>1;
img->mprr[VERT_LEFT_PRED][3] =
img->mprr[VERT_LEFT_PRED][10] = (pd + pe + 1) >>1;
img->mprr[VERT_LEFT_PRED][11] = (pe + pf + 1) >>1;
img->mprr[VERT_LEFT_PRED][4] = (pa + (pb<<1) + pc + 2) >>2;
img->mprr[VERT_LEFT_PRED][5] =
img->mprr[VERT_LEFT_PRED][12] = (pb + (pc<<1) + pd + 2) >>2;
img->mprr[VERT_LEFT_PRED][6] =
img->mprr[VERT_LEFT_PRED][13] = (pc + (pd<<1) + pe + 2) >>2;
img->mprr[VERT_LEFT_PRED][7] =
img->mprr[VERT_LEFT_PRED][14] = (pd + (pe<<1) + pf + 2) >>2;
img->mprr[VERT_LEFT_PRED][15] = (pe + (pf<<1) + pg + 2) >>2;
// Mode HOR_UP_PRED
img->mprr[HOR_UP_PRED][0] = (pi + pj + 1) >>1;
img->mprr[HOR_UP_PRED][1] = (pi + (pj<<1) + pk + 2) >>2;
img->mprr[HOR_UP_PRED][2] =
img->mprr[HOR_UP_PRED][4] = (pj + pk + 1) >>1;
img->mprr[HOR_UP_PRED][3] =
img->mprr[HOR_UP_PRED][5] = (pj + (pk<<1) + pl + 2) >>2;
img->mprr[HOR_UP_PRED][6] =
img->mprr[HOR_UP_PRED][8] = (pk + pl + 1) >>1;
img->mprr[HOR_UP_PRED][7] =
img->mprr[HOR_UP_PRED][9] = (pk + (pl<<1) + pl + 2) >>2;
img->mprr[HOR_UP_PRED][12] =
img->mprr[HOR_UP_PRED][10] =
img->mprr[HOR_UP_PRED][11] =
img->mprr[HOR_UP_PRED][13] =
img->mprr[HOR_UP_PRED][14] =
img->mprr[HOR_UP_PRED][15] = pl;
// Mode DIAG_DOWN_RIGHT_PRED
img->mprr[DIAG_DOWN_RIGHT_PRED][12] = (pl + (pk<<1) + pj + 2) >>2;
img->mprr[DIAG_DOWN_RIGHT_PRED][8] =
img->mprr[DIAG_DOWN_RIGHT_PRED][13] = (pk + (pj<<1) + pi + 2) >>2;
img->mprr[DIAG_DOWN_RIGHT_PRED][4] =
img->mprr[DIAG_DOWN_RIGHT_PRED][9] =
img->mprr[DIAG_DOWN_RIGHT_PRED][14] = (pj + (pi<<1) + px + 2) >>2;
img->mprr[DIAG_DOWN_RIGHT_PRED][0] =
img->mprr[DIAG_DOWN_RIGHT_PRED][5] =
img->mprr[DIAG_DOWN_RIGHT_PRED][10] =
img->mprr[DIAG_DOWN_RIGHT_PRED][15] = (pi + (px<<1) + pa + 2) >>2;
img->mprr[DIAG_DOWN_RIGHT_PRED][1] =
img->mprr[DIAG_DOWN_RIGHT_PRED][6] =
img->mprr[DIAG_DOWN_RIGHT_PRED][11] = (px + (pa<<1) + pb + 2) >>2;
img->mprr[DIAG_DOWN_RIGHT_PRED][2] =
img->mprr[DIAG_DOWN_RIGHT_PRED][7] = (pa + (pb<<1) + pc + 2) >>2;
img->mprr[DIAG_DOWN_RIGHT_PRED][3] = (pb + (pc<<1) + pd + 2) >>2;
// Mode VERT_RIGHT_PRED
img->mprr[VERT_RIGHT_PRED][0] =
img->mprr[VERT_RIGHT_PRED][9] = (px + pa + 1) >>1;
img->mprr[VERT_RIGHT_PRED][1] =
img->mprr[VERT_RIGHT_PRED][10] = (pa + pb + 1) >>1;
img->mprr[VERT_RIGHT_PRED][2] =
img->mprr[VERT_RIGHT_PRED][11] = (pb + pc + 1) >>1;
img->mprr[VERT_RIGHT_PRED][3] = (pc + pd + 1) >>1;
img->mprr[VERT_RIGHT_PRED][4] =
img->mprr[VERT_RIGHT_PRED][13] = (pi + (px<<1) + pa + 2) >>2;
img->mprr[VERT_RIGHT_PRED][5] =
img->mprr[VERT_RIGHT_PRED][14] = (px + (pa<<1) + pb + 2) >>2;
img->mprr[VERT_RIGHT_PRED][6] =
img->mprr[VERT_RIGHT_PRED][15] = (pa + (pb<<1) + pc + 2) >>2;
img->mprr[VERT_RIGHT_PRED][7] = (pb + (pc<<1) + pd + 2) >>2;
img->mprr[VERT_RIGHT_PRED][8] = (px + (pi<<1) + pj + 2) >>2;
img->mprr[VERT_RIGHT_PRED][12] = (pi + (pj<<1) + pk + 2) >>2;
// Mode HOR_DOWN_PRED
img->mprr[HOR_DOWN_PRED][0] =
img->mprr[HOR_DOWN_PRED][6] = (px + pi + 1) >>1;
img->mprr[HOR_DOWN_PRED][1] =
img->mprr[HOR_DOWN_PRED][7] = (pi + (px<<1) + pa + 2) >>2;
img->mprr[HOR_DOWN_PRED][2] = (px + (pa<<1) + pb + 2) >>2;
img->mprr[HOR_DOWN_PRED][3] = (pa + (pb<<1) + pc + 2) >>2;
img->mprr[HOR_DOWN_PRED][4] =
img->mprr[HOR_DOWN_PRED][10] = (pi + pj + 1) >>1;
img->mprr[HOR_DOWN_PRED][5] =
img->mprr[HOR_DOWN_PRED][11] = (px + (pi<<1) + pj + 2) >>2;
img->mprr[HOR_DOWN_PRED][8] =
img->mprr[HOR_DOWN_PRED][14] = (pj + pk + 1) >>1;
img->mprr[HOR_DOWN_PRED][9] =
img->mprr[HOR_DOWN_PRED][15] = (pi + (pj<<1) + pk + 2) >>2;
img->mprr[HOR_DOWN_PRED][12] = (pk + pl + 1) >>1;
img->mprr[HOR_DOWN_PRED][13] = (pj + (pk<<1) + pl + 2) >>2;
best_intra_sad=MAX_VALUE;
upMode = img->ipredmode[pic_block_x+1][pic_block_y];
leftMode = img->ipredmode[pic_block_x][pic_block_y+1];
mostProbableMode = (upMode < 0 || leftMode < 0) ? DC_PRED : upMode < leftMode ? upMode : leftMode;
for (ipmode=0; ipmode < NO_INTRA_PMODE; ipmode++)
{
current_intra_sad = (ipmode == mostProbableMode) ? 0 : (int)floor(4 * lambda_mode );
current_intra_sad += Intra_Sad(img,imgY_org+img_offset,img->mprr[ipmode]);
if (current_intra_sad < best_intra_sad)
{
best_intra_sad=current_intra_sad;
best_ipmode=ipmode;
}
}
*tot_intra_sad += best_intra_sad;
img->ipredmode[pic_block_x+1][pic_block_y+1]=best_ipmode;
img->intra_pred_modes[block_num] = mostProbableMode == best_ipmode ? -1 : best_ipmode < mostProbableMode ? best_ipmode : best_ipmode-1;
nonzero = dct_luma(imgY_org+img_offset,img->mprr[best_ipmode],block_x,block_y,img);
return nonzero;
}
int macroblock_intra_topleft(struct img_par *img)
{
int cbp,tmp=0;
int tot_intra_sad,tot_intra_sad1,cost=0;
int imode=2;/*yummy*/
img->imod = INTRA_MB_OLD;
cbp=0;
tot_intra_sad = tot_intra_sad1 = QP2QUANT[img->qp-SHIFT_QP]*24;
img->i16offset = 0;/*yummy*/
tmp|=intrapred_luma_topleft(img,img->pix_x,img->pix_y,&tot_intra_sad,0);
tmp|=intrapred_luma_top(img,img->pix_x+4,img->pix_y,&tot_intra_sad,1);
tmp|=intrapred_luma_left(img,img->pix_x,img->pix_y+4,&tot_intra_sad,2);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+4,&tot_intra_sad,3);
cbp=tmp;tmp=0;
tmp|=intrapred_luma_top(img,img->pix_x+8,img->pix_y,&tot_intra_sad,4);
tmp|=intrapred_luma_top(img,img->pix_x+12,img->pix_y,&tot_intra_sad,5);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+4,&tot_intra_sad,6);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+4,&tot_intra_sad,7);
cbp|=(tmp<<1);tmp=0;
tmp|=intrapred_luma_left(img,img->pix_x,img->pix_y+8,&tot_intra_sad,8);
tmp|=intrapred_luma_other(img,img->pix_x+4,img->pix_y+8,&tot_intra_sad,9);
tmp|=intrapred_luma_left(img,img->pix_x,img->pix_y+12,&tot_intra_sad,10);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+12,&tot_intra_sad,11);
cbp|=(tmp<<2);tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+8,&tot_intra_sad,12);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+8,&tot_intra_sad,13);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+12,&tot_intra_sad,14);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+12,&tot_intra_sad,15);
cbp|=(tmp<<3);
img->cbp=cbp;
/*yummy*/
/* cost = intrapred_lumaMB_topleft(img,img->pix_x,img->pix_y,&cost,&imode);
if(cost<tot_intra_sad)
{
tot_intra_sad = cost;
img->imod = INTRA_MB_NEW;
img->cbp = dct_luma_16x16 (imgY_org, imode, img);
img->i16offset = imode;
img->ipredmode[1][1]=DC_PRED; img->ipredmode[1][2]=DC_PRED;
img->ipredmode[1][3]=DC_PRED; img->ipredmode[1][4]=DC_PRED;
img->ipredmode[2][1]=DC_PRED; img->ipredmode[2][2]=DC_PRED;
img->ipredmode[2][3]=DC_PRED; img->ipredmode[2][4]=DC_PRED;
img->ipredmode[3][1]=DC_PRED; img->ipredmode[3][2]=DC_PRED;
img->ipredmode[3][3]=DC_PRED; img->ipredmode[3][4]=DC_PRED;
img->ipredmode[4][1]=DC_PRED; img->ipredmode[4][2]=DC_PRED;
img->ipredmode[4][3]=DC_PRED; img->ipredmode[4][4]=DC_PRED;
img->intra_pred_modes[0] = img->intra_pred_modes[1] =DC_PRED;
img->intra_pred_modes[2] = img->intra_pred_modes[3] =DC_PRED;
img->intra_pred_modes[4] = img->intra_pred_modes[5] =DC_PRED;
img->intra_pred_modes[6] = img->intra_pred_modes[7] =DC_PRED;
img->intra_pred_modes[8] = img->intra_pred_modes[9] =DC_PRED;
img->intra_pred_modes[10]= img->intra_pred_modes[11]=DC_PRED;
img->intra_pred_modes[12]= img->intra_pred_modes[13]=DC_PRED;
img->intra_pred_modes[14]= img->intra_pred_modes[15]=DC_PRED;
}*/
return tot_intra_sad;
}
int macroblock_intra_top(struct img_par *img)
{
int cbp,tmp=0;
int tot_intra_sad, cost = 0;
int imode = 2; /*yummy*/
int block_x, block_y; /*yummy*/
img->imod = INTRA_MB_OLD;
cbp=0;
tot_intra_sad=QP2QUANT[img->qp-SHIFT_QP]*24;
img->i16offset = 0; /*yummy*/
block_x = img->pix_x>>2; /*yummy*/
block_y = img->pix_y>>2; /*yummy*/
tmp|=intrapred_luma_top(img,img->pix_x,img->pix_y,&tot_intra_sad,0);
tmp|=intrapred_luma_top(img,img->pix_x+4,img->pix_y,&tot_intra_sad,1);
tmp|=intrapred_luma_other(img,img->pix_x,img->pix_y+4,&tot_intra_sad,2);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+4,&tot_intra_sad,3);
cbp=tmp;tmp=0;
tmp|=intrapred_luma_top(img,img->pix_x+8,img->pix_y,&tot_intra_sad,4);
tmp|=intrapred_luma_top(img,img->pix_x+12,img->pix_y,&tot_intra_sad,5);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+4,&tot_intra_sad,6);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+4,&tot_intra_sad,7);
cbp|=(tmp<<1);tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x,img->pix_y+8,&tot_intra_sad,8);
tmp|=intrapred_luma_other(img,img->pix_x+4,img->pix_y+8,&tot_intra_sad,9);
tmp|=intrapred_luma_other(img,img->pix_x,img->pix_y+12,&tot_intra_sad,10);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+12,&tot_intra_sad,11);
cbp|=(tmp<<2);tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+8,&tot_intra_sad,12);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+8,&tot_intra_sad,13);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+12,&tot_intra_sad,14);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+12,&tot_intra_sad,15);
cbp|=(tmp<<3);
img->cbp=cbp;
/*yummy*/
/* cost = intrapred_lumaMB_top(img,img->pix_x,img->pix_y,&cost,&imode);
if(cost<tot_intra_sad)
{
tot_intra_sad = cost;
img->imod = INTRA_MB_NEW;
img->cbp = dct_luma_16x16 (imgY_org+img->pix_y*(img->width+IMG_PAD_SIZE)+img->pix_x, imode, img);
img->i16offset = imode;
img->ipredmode[block_x+1][block_y+1]=DC_PRED; img->ipredmode[block_x+1][block_y+2]=DC_PRED;
img->ipredmode[block_x+1][block_y+3]=DC_PRED; img->ipredmode[block_x+1][block_y+4]=DC_PRED;
img->ipredmode[block_x+2][block_y+1]=DC_PRED; img->ipredmode[block_x+2][block_y+2]=DC_PRED;
img->ipredmode[block_x+2][block_y+3]=DC_PRED; img->ipredmode[block_x+2][block_y+4]=DC_PRED;
img->ipredmode[block_x+3][block_y+1]=DC_PRED; img->ipredmode[block_x+3][block_y+2]=DC_PRED;
img->ipredmode[block_x+3][block_y+3]=DC_PRED; img->ipredmode[block_x+3][block_y+4]=DC_PRED;
img->ipredmode[block_x+4][block_y+1]=DC_PRED; img->ipredmode[block_x+4][block_y+2]=DC_PRED;
img->ipredmode[block_x+4][block_y+3]=DC_PRED; img->ipredmode[block_x+4][block_y+4]=DC_PRED;
img->intra_pred_modes[0] = img->intra_pred_modes[1] =DC_PRED;
img->intra_pred_modes[2] = img->intra_pred_modes[3] =DC_PRED;
img->intra_pred_modes[4] = img->intra_pred_modes[5] =DC_PRED;
img->intra_pred_modes[6] = img->intra_pred_modes[7] =DC_PRED;
img->intra_pred_modes[8] = img->intra_pred_modes[9] =DC_PRED;
img->intra_pred_modes[10]= img->intra_pred_modes[11]=DC_PRED;
img->intra_pred_modes[12]= img->intra_pred_modes[13]=DC_PRED;
img->intra_pred_modes[14]= img->intra_pred_modes[15]=DC_PRED;
}*/
return tot_intra_sad;
}
int macroblock_intra_left(struct img_par *img)
{
int cbp,tmp=0;
int tot_intra_sad;
int imode = 0, cost = 0; /*yummy*/
int block_x, block_y; /*yummy*/
block_x = img->pix_x>>2; /*yummy*/
block_y = img->pix_y>>2; /*yummy*/
img->imod = INTRA_MB_OLD;
cbp=0;
tot_intra_sad=QP2QUANT[img->qp-SHIFT_QP]*24;
img->i16offset = 0; /*yummy*/
tmp|=intrapred_luma_left(img,img->pix_x,img->pix_y,&tot_intra_sad,0);
tmp|=intrapred_luma_other(img,img->pix_x+4,img->pix_y,&tot_intra_sad,1);
tmp|=intrapred_luma_left(img,img->pix_x,img->pix_y+4,&tot_intra_sad,2);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+4,&tot_intra_sad,3);
cbp=tmp;tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y,&tot_intra_sad,4);
tmp|=intrapred_luma_other(img,img->pix_x+12,img->pix_y,&tot_intra_sad,5);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+4,&tot_intra_sad,6);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+4,&tot_intra_sad,7);
cbp|=(tmp<<1);tmp=0;
tmp|=intrapred_luma_left(img,img->pix_x,img->pix_y+8,&tot_intra_sad,8);
tmp|=intrapred_luma_other(img,img->pix_x+4,img->pix_y+8,&tot_intra_sad,9);
tmp|=intrapred_luma_left(img,img->pix_x,img->pix_y+12,&tot_intra_sad,10);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+12,&tot_intra_sad,11);
cbp|=(tmp<<2);tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+8,&tot_intra_sad,12);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+8,&tot_intra_sad,13);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+12,&tot_intra_sad,14);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+12,&tot_intra_sad,15);
cbp|=(tmp<<3);
img->cbp=cbp;
/*yummy*/
/* cost = intrapred_lumaMB_left(img,img->pix_x,img->pix_y,&cost,&imode);
if(cost<tot_intra_sad)
{
tot_intra_sad = cost;
img->imod = INTRA_MB_NEW;
img->cbp = dct_luma_16x16 (imgY_org+img->pix_y*(img->width+IMG_PAD_SIZE)+img->pix_x, imode, img);
img->i16offset = imode;
img->ipredmode[block_x+1][block_y+1]=DC_PRED; img->ipredmode[block_x+1][block_y+2]=DC_PRED;
img->ipredmode[block_x+1][block_y+3]=DC_PRED; img->ipredmode[block_x+1][block_y+4]=DC_PRED;
img->ipredmode[block_x+2][block_y+1]=DC_PRED; img->ipredmode[block_x+2][block_y+2]=DC_PRED;
img->ipredmode[block_x+2][block_y+3]=DC_PRED; img->ipredmode[block_x+2][block_y+4]=DC_PRED;
img->ipredmode[block_x+3][block_y+1]=DC_PRED; img->ipredmode[block_x+3][block_y+2]=DC_PRED;
img->ipredmode[block_x+3][block_y+3]=DC_PRED; img->ipredmode[block_x+3][block_y+4]=DC_PRED;
img->ipredmode[block_x+4][block_y+1]=DC_PRED; img->ipredmode[block_x+4][block_y+2]=DC_PRED;
img->ipredmode[block_x+4][block_y+3]=DC_PRED; img->ipredmode[block_x+4][block_y+4]=DC_PRED;
img->intra_pred_modes[0] = img->intra_pred_modes[1] =DC_PRED;
img->intra_pred_modes[2] = img->intra_pred_modes[3] =DC_PRED;
img->intra_pred_modes[4] = img->intra_pred_modes[5] =DC_PRED;
img->intra_pred_modes[6] = img->intra_pred_modes[7] =DC_PRED;
img->intra_pred_modes[8] = img->intra_pred_modes[9] =DC_PRED;
img->intra_pred_modes[10]= img->intra_pred_modes[11]=DC_PRED;
img->intra_pred_modes[12]= img->intra_pred_modes[13]=DC_PRED;
img->intra_pred_modes[14]= img->intra_pred_modes[15]=DC_PRED;
} */
return tot_intra_sad;
}
int macroblock_intra_right(struct img_par *img)
{
int cbp,tmp=0;
int tot_intra_sad;
int imode = 0, cost =0; /*yummy*/
int block_x, block_y; /*yummy*/
block_x = img->pix_x>>2; /*yummy*/
block_y = img->pix_y>>2; /*yummy*/
img->imod = INTRA_MB_OLD;
cbp=0;
tot_intra_sad=QP2QUANT[img->qp-SHIFT_QP]*24;
img->i16offset = 0; /*yummy*/
tmp|=intrapred_luma_other(img,img->pix_x,img->pix_y,&tot_intra_sad,0);
tmp|=intrapred_luma_other(img,img->pix_x+4,img->pix_y,&tot_intra_sad,1);
tmp|=intrapred_luma_other(img,img->pix_x,img->pix_y+4,&tot_intra_sad,2);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+4,&tot_intra_sad,3);
cbp=tmp;tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y,&tot_intra_sad,4);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y,&tot_intra_sad,5);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+4,&tot_intra_sad,6);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+4,&tot_intra_sad,7);
cbp|=(tmp<<1);tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x,img->pix_y+8,&tot_intra_sad,8);
tmp|=intrapred_luma_other(img,img->pix_x+4,img->pix_y+8,&tot_intra_sad,9);
tmp|=intrapred_luma_other(img,img->pix_x,img->pix_y+12,&tot_intra_sad,10);
tmp|=intrapred_luma_noright(img,img->pix_x+4,img->pix_y+12,&tot_intra_sad,11);
cbp|=(tmp<<2);tmp=0;
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+8,&tot_intra_sad,12);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+8,&tot_intra_sad,13);
tmp|=intrapred_luma_other(img,img->pix_x+8,img->pix_y+12,&tot_intra_sad,14);
tmp|=intrapred_luma_noright(img,img->pix_x+12,img->pix_y+12,&tot_intra_sad,15);
cbp|=(tmp<<3);
img->cbp=cbp;
/*yummy*/
/* cost = intrapred_lumaMB_other(img,img->pix_x,img->pix_y,&cost,&imode);
if(cost<tot_intra_sad)
{
img->imod = INTRA_MB_NEW;
tot_intra_sad = cost;
img->cbp = dct_luma_16x16 (imgY_org+img->pix_y*(img->width+IMG_PAD_SIZE)+img->pix_x, imode, img);
img->i16offset = imode;
img->ipredmode[block_x+1][block_y+3]=DC_PRED; img->ipredmode[block_x+1][block_y+4]=DC_PRED;
img->ipredmode[block_x+2][block_y+1]=DC_PRED; img->ipredmode[block_x+2][block_y+2]=DC_PRED;
img->ipredmode[block_x+2][block_y+3]=DC_PRED; img->ipredmode[block_x+2][block_y+4]=DC_PRED;
img->ipredmode[block_x+3][block_y+1]=DC_PRED; img->ipredmode[block_x+3][block_y+2]=DC_PRED;
img->ipredmode[block_x+3][block_y+3]=DC_PRED; img->ipredmode[block_x+3][block_y+4]=DC_PRED;
img->ipredmode[block_x+4][block_y+1]=DC_PRED; img->ipredmode[block_x+4][block_y+2]=DC_PRED;
img->ipredmode[block_x+4][block_y+3]=DC_PRED; img->ipredmode[block_x+4][block_y+4]=DC_PRED;
img->intra_pred_modes[0] = img->intra_pred_modes[1] =DC_PRED;
img->intra_pred_modes[2] = img->intra_p
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -