libdvbsub: use framebuffer functions getBackBufferPointer() and blit2FB()

Origin commit data
------------------
Branch: ni/coolstream
Commit: 25a76044fe
Author: vanhofen <vanhofen@gmx.de>
Date: 2017-06-16 (Fri, 16 Jun 2017)

Origin message was:
------------------
- libdvbsub: use framebuffer functions getBackBufferPointer() and blit2FB()

------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
vanhofen
2017-06-16 15:53:55 +02:00
parent b58e89b3a8
commit 8281623a5f

View File

@@ -86,12 +86,7 @@ fb_pixel_t * simple_resize32(uint8_t * orgin, uint32_t * colors, int nb_colors,
fb_pixel_t *cr,*l;
int i,j,k,ip;
cr = (fb_pixel_t *) malloc(dx*dy*sizeof(fb_pixel_t));
if(cr == NULL) {
printf("Error: malloc\n");
return NULL;
}
cr = CFrameBuffer::getInstance()->getBackBufferPointer();
l = cr;
for(j = 0; j < dy; j++, l += dx)
@@ -110,8 +105,6 @@ fb_pixel_t * simple_resize32(uint8_t * orgin, uint32_t * colors, int nb_colors,
void cDvbSubtitleBitmaps::Draw(int &min_x, int &min_y, int &max_x, int &max_y)
{
int i;
int stride = CFrameBuffer::getInstance()->getScreenWidth(true);
uint32_t *sublfb = CFrameBuffer::getInstance()->getFrameBufferPointer();
int sw = CFrameBuffer::getInstance()->getScreenWidth(true);
int sh = CFrameBuffer::getInstance()->getScreenHeight(true);
@@ -146,13 +139,7 @@ void cDvbSubtitleBitmaps::Draw(int &min_x, int &min_y, int &max_x, int &max_y)
fb_pixel_t * newdata = simple_resize32 (sub.rects[i]->data[0], colors, sub.rects[i]->nb_colors, width, height, nw, nh);
#endif
fb_pixel_t * ptr = newdata;
for (int y2 = 0; y2 < nh; y2++) {
int y = (yoff + y2) * stride;
for (int x2 = 0; x2 < nw; x2++)
*(sublfb + xoff + x2 + y) = *ptr++;
}
free(newdata);
CFrameBuffer::getInstance()->blit2FB(newdata, nw, nh, xoff, yoff, 0, 0);
if(min_x > xoff)
min_x = xoff;
@@ -218,12 +205,12 @@ cDvbSubtitleConverter::~cDvbSubtitleConverter()
void cDvbSubtitleConverter::Lock(void)
{
pthread_mutex_lock(&mutex);
pthread_mutex_lock(&mutex);
}
void cDvbSubtitleConverter::Unlock(void)
{
pthread_mutex_unlock(&mutex);
pthread_mutex_unlock(&mutex);
}
void cDvbSubtitleConverter::Pause(bool pause)