Lines Matching refs:param

44 static int mtk_jpeg_decide_format(struct mtk_jpeg_dec_param *param)  in mtk_jpeg_decide_format()  argument
46 param->src_color = (param->sampling_w[0] << 20) | in mtk_jpeg_decide_format()
47 (param->sampling_h[0] << 16) | in mtk_jpeg_decide_format()
48 (param->sampling_w[1] << 12) | in mtk_jpeg_decide_format()
49 (param->sampling_h[1] << 8) | in mtk_jpeg_decide_format()
50 (param->sampling_w[2] << 4) | in mtk_jpeg_decide_format()
51 (param->sampling_h[2]); in mtk_jpeg_decide_format()
53 param->uv_brz_w = 0; in mtk_jpeg_decide_format()
54 switch (param->src_color) { in mtk_jpeg_decide_format()
56 param->uv_brz_w = 1; in mtk_jpeg_decide_format()
57 param->dst_fourcc = V4L2_PIX_FMT_YUV422M; in mtk_jpeg_decide_format()
61 param->dst_fourcc = V4L2_PIX_FMT_YUV422M; in mtk_jpeg_decide_format()
65 param->uv_brz_w = 1; in mtk_jpeg_decide_format()
66 param->dst_fourcc = V4L2_PIX_FMT_YUV420M; in mtk_jpeg_decide_format()
69 param->dst_fourcc = V4L2_PIX_FMT_YUV420M; in mtk_jpeg_decide_format()
72 param->dst_fourcc = V4L2_PIX_FMT_GREY; in mtk_jpeg_decide_format()
75 param->dst_fourcc = 0; in mtk_jpeg_decide_format()
82 static void mtk_jpeg_calc_mcu(struct mtk_jpeg_dec_param *param) in mtk_jpeg_calc_mcu() argument
87 factor_w = 2 + param->sampling_w[0]; in mtk_jpeg_calc_mcu()
88 factor_h = 2 + param->sampling_h[0]; in mtk_jpeg_calc_mcu()
89 param->mcu_w = (param->pic_w + (1 << factor_w) - 1) >> factor_w; in mtk_jpeg_calc_mcu()
90 param->mcu_h = (param->pic_h + (1 << factor_h) - 1) >> factor_h; in mtk_jpeg_calc_mcu()
91 param->total_mcu = param->mcu_w * param->mcu_h; in mtk_jpeg_calc_mcu()
92 param->unit_num = ((param->pic_w + 7) >> 3) * ((param->pic_h + 7) >> 3); in mtk_jpeg_calc_mcu()
93 param->blk_num = 0; in mtk_jpeg_calc_mcu()
95 param->blk_comp[i] = 0; in mtk_jpeg_calc_mcu()
96 if (i >= param->comp_num) in mtk_jpeg_calc_mcu()
98 param->blk_comp[i] = param->sampling_w[i] * in mtk_jpeg_calc_mcu()
99 param->sampling_h[i]; in mtk_jpeg_calc_mcu()
100 param->blk_num += param->blk_comp[i]; in mtk_jpeg_calc_mcu()
103 param->membership = 0; in mtk_jpeg_calc_mcu()
105 if (i < param->blk_num && comp < param->comp_num) { in mtk_jpeg_calc_mcu()
109 param->membership |= tmp << (i * 3); in mtk_jpeg_calc_mcu()
110 if (++blk == param->blk_comp[comp]) { in mtk_jpeg_calc_mcu()
115 param->membership |= 7 << (i * 3); in mtk_jpeg_calc_mcu()
120 static void mtk_jpeg_calc_dma_group(struct mtk_jpeg_dec_param *param) in mtk_jpeg_calc_dma_group() argument
124 if (param->src_color == MTK_JPEG_COLOR_444 && in mtk_jpeg_calc_dma_group()
125 param->dst_fourcc == V4L2_PIX_FMT_YUV422M) in mtk_jpeg_calc_dma_group()
127 else if (param->src_color == MTK_JPEG_COLOR_422V && in mtk_jpeg_calc_dma_group()
128 param->dst_fourcc == V4L2_PIX_FMT_YUV420M) in mtk_jpeg_calc_dma_group()
130 else if (param->src_color == MTK_JPEG_COLOR_422X2 && in mtk_jpeg_calc_dma_group()
131 param->dst_fourcc == V4L2_PIX_FMT_YUV422M) in mtk_jpeg_calc_dma_group()
133 else if (param->src_color == MTK_JPEG_COLOR_400 || in mtk_jpeg_calc_dma_group()
134 (param->src_color & 0x0FFFF) == 0) in mtk_jpeg_calc_dma_group()
137 param->dma_mcu = 1 << factor_mcu; in mtk_jpeg_calc_dma_group()
138 param->dma_group = param->mcu_w / param->dma_mcu; in mtk_jpeg_calc_dma_group()
139 param->dma_last_mcu = param->mcu_w % param->dma_mcu; in mtk_jpeg_calc_dma_group()
140 if (param->dma_last_mcu) in mtk_jpeg_calc_dma_group()
141 param->dma_group++; in mtk_jpeg_calc_dma_group()
143 param->dma_last_mcu = param->dma_mcu; in mtk_jpeg_calc_dma_group()
146 static int mtk_jpeg_calc_dst_size(struct mtk_jpeg_dec_param *param) in mtk_jpeg_calc_dst_size() argument
153 brz_w[1] = param->uv_brz_w; in mtk_jpeg_calc_dst_size()
156 for (i = 0; i < param->comp_num; i++) { in mtk_jpeg_calc_dst_size()
160 padding_w = param->mcu_w * MTK_JPEG_DCTSIZE * in mtk_jpeg_calc_dst_size()
161 param->sampling_w[i]; in mtk_jpeg_calc_dst_size()
163 param->comp_w[i] = padding_w >> brz_w[i]; in mtk_jpeg_calc_dst_size()
164 param->comp_w[i] = mtk_jpeg_align(param->comp_w[i], in mtk_jpeg_calc_dst_size()
166 param->img_stride[i] = i ? mtk_jpeg_align(param->comp_w[i], 16) in mtk_jpeg_calc_dst_size()
167 : mtk_jpeg_align(param->comp_w[i], 32); in mtk_jpeg_calc_dst_size()
168 ds_row_h[i] = (MTK_JPEG_DCTSIZE * param->sampling_h[i]); in mtk_jpeg_calc_dst_size()
170 param->dec_w = param->img_stride[0]; in mtk_jpeg_calc_dst_size()
171 param->dec_h = ds_row_h[0] * param->mcu_h; in mtk_jpeg_calc_dst_size()
175 param->mem_stride[i] = param->img_stride[i]; in mtk_jpeg_calc_dst_size()
176 param->comp_size[i] = param->mem_stride[i] * ds_row_h[i] * in mtk_jpeg_calc_dst_size()
177 param->mcu_h; in mtk_jpeg_calc_dst_size()
180 param->y_size = param->comp_size[0]; in mtk_jpeg_calc_dst_size()
181 param->uv_size = param->comp_size[1]; in mtk_jpeg_calc_dst_size()
182 param->dec_size = param->y_size + (param->uv_size << 1); in mtk_jpeg_calc_dst_size()
187 int mtk_jpeg_dec_fill_param(struct mtk_jpeg_dec_param *param) in mtk_jpeg_dec_fill_param() argument
189 if (mtk_jpeg_decide_format(param)) in mtk_jpeg_dec_fill_param()
192 mtk_jpeg_calc_mcu(param); in mtk_jpeg_dec_fill_param()
193 mtk_jpeg_calc_dma_group(param); in mtk_jpeg_dec_fill_param()
194 if (mtk_jpeg_calc_dst_size(param)) in mtk_jpeg_dec_fill_param()