Home | History | Annotate | Download | only in decoder

Lines Matching refs:ps_pred

51 void ih264d_pad_on_demand(pred_info_t *ps_pred, UWORD8 lum_chrom_blk);
205 pred_info_t * ps_pred = ps_dec->ps_pred + ps_dec->u4_pred_info_idx;
293 ps_pred->u2_u1_ref_buf_wd = u1_dma_wd;
294 ps_pred->i1_dma_ht = u1_dma_ht;
295 ps_pred->i1_mc_wd = i1_mc_wd;
296 ps_pred->u2_frm_wd = u2_frm_wd;
297 ps_pred->pu1_rec_y_u = pu1_rec;
298 ps_pred->u2_dst_stride = u2_rec_wd;
300 ps_pred->i1_mb_partwidth = u1_part_wd << 2;
301 ps_pred->i1_mb_partheight = u1_part_ht << 2;
302 ps_pred->u1_dydx = (u1_dy << 2) + u1_dx;
304 ps_pred->pu1_y_ref = pu1_pred;
308 /* Increment ps_pred index */
309 ps_pred++;
382 ps_pred->pu1_rec_y_u = ps_frame_buf->pu1_dest_u + i4_rec_offset;
383 ps_pred->u1_pi1_wt_ofst_rec_v = ps_frame_buf->pu1_dest_v
392 ps_pred->u2_u1_ref_buf_wd = u1_dma_wd;
393 ps_pred->i1_dma_ht = u1_dma_ht;
394 ps_pred->i1_mc_wd = i1_mc_wd;
396 ps_pred->u2_frm_wd = u2_frm_wd;
397 ps_pred->u2_dst_stride = u2_rec_wd;
399 ps_pred->i1_mb_partwidth = u1_part_wd << 1;
400 ps_pred->i1_mb_partheight = u1_part_ht << 1;
401 ps_pred->u1_dydx = (u1_dy << 3) + u1_dx;
407 ps_pred->pu1_u_ref = pu1_pred_u;
410 ps_pred->pu1_v_ref = pu1_pred_v;
413 /* Increment ps_pred index */
475 pred_info_t * ps_pred ;
500 ps_pred = ps_dec->ps_pred + ps_dec->u4_pred_info_idx;
653 ps_pred->pu1_dma_dest_addr = pu1_ref_buf;
654 ps_pred->u2_u1_ref_buf_wd = u1_dma_wd;
655 ps_pred->u2_frm_wd = u2_frm_wd;
656 ps_pred->i1_dma_ht = u1_dma_ht;
657 ps_pred->i1_mc_wd = i1_mc_wd;
658 ps_pred->pu1_rec_y_u = pu1_rec;
659 ps_pred->u2_dst_stride = u2_rec_wd;
661 ps_pred->i1_mb_partwidth = u1_part_wd << 2;
662 ps_pred->i1_mb_partheight = u1_part_ht << 2;
663 ps_pred->u1_dydx = (u1_dy << 2) + u1_dx;
664 ps_pred->u1_is_bi_direct = u1_is_bi_dir;
665 ps_pred->u1_pi1_wt_ofst_rec_v = (UWORD8 *)pu4_wt_offset;
666 ps_pred->u1_wght_pred_type = u1_wght_pred_type;
667 ps_pred->i1_pod_ht = 0;
677 ps_pred->i1_pod_ht = (WORD8)(-i2_pod_ht);
688 ps_pred->i1_pod_ht = (WORD8)i2_pod_ht;
695 * ps_pred->i1_pod_ht is non zero when MBAFF is present. In case of MBAFF the reference data
698 if(ps_pred->i1_pod_ht)
700 ps_pred->pu1_pred = pu1_pred;
701 ps_pred->u1_dma_ht_y = u1_dma_ht;
702 ps_pred->u1_dma_wd_y = u1_dma_wd;
704 ps_pred->pu1_y_ref = pu1_pred;
709 /* Increment ps_pred index */
710 ps_pred++;
794 ps_pred->pu1_rec_y_u = ps_frame_buf->pu1_dest_u + i4_rec_offset;
795 ps_pred->u1_pi1_wt_ofst_rec_v = ps_frame_buf->pu1_dest_v
805 ps_pred->u2_u1_ref_buf_wd = u1_dma_wd;
806 ps_pred->u2_frm_wd = u2_frm_wd;
807 ps_pred->i1_dma_ht = u1_dma_ht;
808 ps_pred->i1_mc_wd = i1_mc_wd;
809 ps_pred->u2_dst_stride = u2_rec_wd;
811 ps_pred->i1_mb_partwidth = u1_part_wd << 1;
812 ps_pred->i1_mb_partheight = u1_part_ht << 1;
813 ps_pred->u1_dydx = (u1_dy << 3) + u1_dx;
814 ps_pred->u1_is_bi_direct = u1_is_bi_dir;
815 ps_pred->u1_wght_pred_type = u1_wght_pred_type;
816 ps_pred->i1_pod_ht = 0;
818 ps_pred->pu1_dma_dest_addr = pu1_ref_buf;
826 ps_pred->i1_pod_ht = (WORD8)(-i2_pod_ht);
835 ps_pred->i1_pod_ht = (WORD8)i2_pod_ht;
843 if(ps_pred->i1_pod_ht)
845 ps_pred->pu1_pred_u = pu1_pred_u;
846 ps_pred->u1_dma_ht_uv = u1_dma_ht;
847 ps_pred->u1_dma_wd_uv = u1_dma_wd;
850 ps_pred->pu1_u_ref = pu1_pred_u;
855 if(ps_pred->i1_pod_ht)
857 ps_pred->pu1_pred_v = pu1_pred_v;
858 ps_pred->u1_dma_ht_uv = u1_dma_ht;
859 ps_pred->u1_dma_wd_uv = u1_dma_wd;
862 ps_pred->pu1_v_ref = pu1_pred_v;
865 /* Increment ps_pred index */
905 pred_info_t *ps_pred ;
917 ps_pred = ps_dec->ps_pred ;
926 * ps_pred->i1_pod_ht is non zero when MBAFF is present. In case of MBAFF the reference data
930 u2_ref_wd_y = ps_pred->u2_frm_wd;
931 puc_ref = ps_pred->pu1_y_ref;
932 if(ps_pred->u1_dydx & 0x3)
934 if(ps_pred->u1_dydx >> 2)
937 u4_wd_y = ps_pred->i1_mb_partwidth;
938 u4_ht_y = ps_pred->i1_mb_partheight;
939 uc_dx = ps_pred->u1_dydx;
943 pu1_dest_y = ps_pred->pu1_rec_y_u;
944 u2_dst_wd = ps_pred->u2_dst_stride;
946 ps_dec->apf_inter_pred_luma[ps_pred->u1_dydx](puc_ref, pu1_dest_y,
951 ps_pred->u1_dydx);
953 ps_pred++;
959 u2_ref_wd_uv = ps_pred->u2_frm_wd;
960 pu1_ref_u = ps_pred->pu1_u_ref;
962 u4_wd_uv = ps_pred->i1_mb_partwidth;
963 u4_ht_uv = ps_pred->i1_mb_partheight;
964 uc_dx = ps_pred->u1_dydx; /* 8*dy + dx */
968 pu1_dest_u = ps_pred->pu1_rec_y_u;
969 u2_dst_wd = ps_pred->u2_dst_stride;
971 ps_pred++;
1007 pred_info_t *ps_pred ;
1035 ps_pred = ps_dec->ps_pred ;
1038 ps_pred_y_forw = ps_pred;
1039 ps_pred_y_back = ps_pred;
1040 ps_pred_cr_forw = ps_pred;
1058 const UWORD8 u1_is_bi_direct = ps_pred->u1_is_bi_direct;
1065 * ps_pred->i1_pod_ht is non zero when MBAFF is present. In case of MBAFF the reference data
1069 if(ps_pred->i1_pod_ht)
1071 u2_ref_wd_y = ps_pred->u2_u1_ref_buf_wd;
1072 puc_ref = ps_pred->pu1_dma_dest_addr;
1076 u2_ref_wd_y = ps_pred->u2_frm_wd;
1077 puc_ref = ps_pred->pu1_y_ref;
1081 if(ps_pred->u1_dydx & 0x3)
1083 if(ps_pred->u1_dydx >> 2)
1085 u4_wd_y = ps_pred->i1_mb_partwidth;
1086 u4_ht_y = ps_pred->i1_mb_partheight;
1088 uc_dx = ps_pred->u1_dydx;
1093 pu1_dest_y = ps_pred->pu1_rec_y_u;
1094 u2_row_buf_wd_y = ps_pred->u2_dst_stride;
1095 u2_dst_wd = ps_pred->u2_dst_stride;
1097 ps_pred_y_forw = ps_pred;
1104 ps_pred_y_back = ps_pred;
1110 if(ps_pred->i1_pod_ht)
1112 pu1_pred = ps_pred->pu1_pred;
1113 pu1_dma_dst = ps_pred->pu1_dma_dest_addr;
1114 u1_dma_wd = ps_pred->u1_dma_wd_y;
1115 u1_dma_ht = ps_pred->u1_dma_ht_y;
1117 if(ps_pred->i1_pod_ht < 0)
1119 pu1_dma_dst = pu1_dma_dst - (ps_pred->i1_pod_ht * ps_pred->u2_u1_ref_buf_wd);
1123 ih264d_pad_on_demand(ps_pred, LUM_BLK);
1125 ps_dec->apf_inter_pred_luma[ps_pred->u1_dydx](puc_ref, pu1_dest_y,
1131 ps_pred->u1_dydx);
1132 ps_pred++;
1140 u1_dma_ht = ps_pred->i1_dma_ht;
1142 if(ps_pred->i1_pod_ht)
1144 pu1_pred = ps_pred->pu1_pred_u;
1145 pu1_dma_dst = ps_pred->pu1_dma_dest_addr;
1146 u1_dma_ht = ps_pred->u1_dma_ht_uv;
1147 u1_dma_wd = ps_pred->u1_dma_wd_uv * YUV420SP_FACTOR;
1149 if(ps_pred->i1_pod_ht < 0)
1152 pu1_dma_dst -= (ps_pred->i1_pod_ht
1153 * ps_pred->u2_u1_ref_buf_wd
1160 pu1_dma_dst += (ps_pred->i1_dma_ht
1161 * ps_pred->u2_u1_ref_buf_wd);
1162 pu1_pred = ps_pred->pu1_pred_v;
1164 ih264d_pad_on_demand(ps_pred, CHROM_BLK);
1167 if(ps_pred->i1_pod_ht)
1169 pu1_ref_u = ps_pred->pu1_dma_dest_addr;
1171 u2_ref_wd_uv = ps_pred->u2_u1_ref_buf_wd
1176 u2_ref_wd_uv = ps_pred->u2_frm_wd;
1177 pu1_ref_u = ps_pred->pu1_u_ref;
1181 u4_wd_uv = ps_pred->i1_mb_partwidth;
1182 u4_ht_uv = ps_pred->i1_mb_partheight;
1183 uc_dx = ps_pred->u1_dydx; /* 8*dy + dx */
1188 pu1_dest_u = ps_pred->pu1_rec_y_u;
1190 pu1_dest_v = ps_pred->u1_pi1_wt_ofst_rec_v;
1191 u2_row_buf_wd_uv = ps_pred->u2_dst_stride;
1192 u2_dst_wd = ps_pred->u2_dst_stride;
1194 ps_pred_cr_forw = ps_pred;
1203 ps_pred->pu1_rec_y_u = pu1_dest_u;
1204 ps_pred->u1_pi1_wt_ofst_rec_v = pu1_dest_v;
1207 ps_pred++;
1217 /* ps_pred now points to the Y entry of the 0,0 component */
1223 if((ps_pred + 1)->i1_pod_ht)
1225 pu1_pred = (ps_pred + 1)->pu1_pred_u;
1226 pu1_dma_dst = (ps_pred + 1)->pu1_dma_dest_addr;
1227 u1_dma_ht = (ps_pred + 1)->u1_dma_ht_uv;
1228 u1_dma_wd = (ps_pred + 1)->u1_dma_wd_uv
1231 if((ps_pred + 1)->i1_pod_ht < 0)
1234 pu1_dma_dst -= ((ps_pred + 1)->i1_pod_ht
1235 * (ps_pred + 1)->u2_u1_ref_buf_wd
1240 pu1_dma_dst += ((ps_pred + 1)->i1_dma_ht
1241 * (ps_pred + 1)->u2_u1_ref_buf_wd); //(u1_dma_ht * u1_dma_wd);//
1242 pu1_pred = (ps_pred + 1)->pu1_pred_v;
1243 ih264d_pad_on_demand(ps_pred + 1, CHROM_BLK);
1247 ih264d_multiplex_ref_data(ps_dec, ps_pred, pu1_dest_y,
1251 ps_pred += 2;
1390 pred_info_t *ps_pred,
1405 if(ps_pred->i1_pod_ht)
1407 pu1_ref_y = ps_pred->pu1_dma_dest_addr;
1409 u2_ref_wd_y = ps_pred->u2_u1_ref_buf_wd;
1413 pu1_ref_y = ps_pred->pu1_y_ref;
1414 u2_ref_wd_y = ps_pred->u2_frm_wd;
1417 ps_pred++;
1418 if(ps_pred->i1_pod_ht)
1420 pu1_ref_u = ps_pred->pu1_dma_dest_addr;
1421 u2_ref_wd_uv = ps_pred->u2_u1_ref_buf_wd * YUV420SP_FACTOR;
1426 pu1_ref_u = ps_pred->pu1_u_ref;
1427 u2_ref_wd_uv = ps_pred->u2_frm_wd;
1431 u1_dydx = ps_pred->u1_dydx;
1441 pred_info_t * ps_prv_pred = ps_pred - 2;
1509 void ih264d_pad_on_demand(pred_info_t *ps_pred, UWORD8 lum_chrom_blk)
1518 u1_wd_stride = (ps_pred->u2_u1_ref_buf_wd >> 2) * YUV420SP_FACTOR;
1519 u1_dma_ht = ps_pred->i1_dma_ht;
1521 pu4_pod_src_u = (UWORD32 *)ps_pred->pu1_dma_dest_addr;
1527 i1_ht = ps_pred->i1_pod_ht;
1554 pu4_pod_src = (UWORD32 *)ps_pred->pu1_dma_dest_addr;
1556 u1_wd_stride = ps_pred->u2_u1_ref_buf_wd >> 2;
1557 i1_ht = ps_pred->i1_pod_ht;
1565 pu4_pod_src += (ps_pred->i1_dma_ht - 1) * u1_wd_stride;
1566 pu4_pod_dst += (ps_pred->i1_dma_ht - i1_ht) * u1_wd_stride;