예제 #1
0
파일: goom_core.c 프로젝트: Cougar/mythtv
void goom_set_resolution (guint32 resx, guint32 resy, int cinemascope) {
	free (pixel);
	free (back);

	if (cinemascope)
		c_black_height = resy / 8;
	else
		c_black_height = 0;

	c_offset = c_black_height * resx;
	c_resoly = resy - c_black_height * 2;

	resolx = resx;
	resoly = resy;
	buffsize = resx * resy;

	pixel = (guint32 *) malloc (buffsize * sizeof (guint32) + 128);
	memset (pixel, 0, buffsize * sizeof (guint32) + 128);
	back = (guint32 *) malloc (buffsize * sizeof (guint32) + 128);
	memset (back, 0,  buffsize * sizeof (guint32) + 128);
	p1 = (guint32 *) ((1 + ((uintptr_t) (pixel)) / 128) * 128);
	p2 = (guint32 *) ((1 + ((uintptr_t) (back)) / 128) * 128);

	init_ifs (resx, c_resoly);
	goom_lines_set_res (gmline1, resx, c_resoly);
	goom_lines_set_res (gmline2, resx, c_resoly);
}
예제 #2
0
void goom_set_resolution (PluginInfo *goomInfo, uint32_t resx, uint32_t resy)
{
    free (goomInfo->pixel);
    free (goomInfo->back);
    free (goomInfo->conv);

    goomInfo->screen.width = resx;
    goomInfo->screen.height = resy;
    goomInfo->screen.size = resx * resy;

    init_buffers(goomInfo, goomInfo->screen.size);

    /* init_ifs (goomInfo, resx, goomInfo->screen.height); */
    goomInfo->ifs_fx.free(&goomInfo->ifs_fx);
    goomInfo->ifs_fx.init(&goomInfo->ifs_fx, goomInfo);

    goom_lines_set_res (goomInfo->gmline1, resx, goomInfo->screen.height);
    goom_lines_set_res (goomInfo->gmline2, resx, goomInfo->screen.height);
}