Announcement

Collapse
No announcement yet.

My video is slow on uOLED128G2

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ESPsupport
    replied
    You need to transfer a 'rectangle' so you would need to make the image area smaller (maybe with a fixed frame around it).

    Try a full screen at 12.8 fps, unless you have some very specific need for 30fps, you are unlikely to find it as bad as you may think.

    Leave a comment:


  • poly
    replied
    So do you mean the fps limit of Goldelox is always 12.8 fps? Is there any way to reduce the number of pixels to transfer, like drawing only different pixels on each frame? 12.8 fps is not good enough to us.

    Leave a comment:


  • ESPsupport
    replied
    From the datasheet you can see Goldelox has a uSD to screen throughput of 210,000 pixels per second, for about 12.8 fps on your particular display.

    You need to reprocess your video to a 12.8 fps rate and then it will display at the speed you are expecting.

    Leave a comment:


  • poly
    started a topic My video is slow on uOLED128G2

    My video is slow on uOLED128G2

    Hi there,

    I tried to play my 30 fps video file on uOLED128G2, but it looks very slow. It seems the fps is half on uOLED128G2.

    I uploaded my video file here: https://drive.google.com/file/d/0B2K...ew?usp=sharing

    How can I play it with the original fps on the display?

    Any advice?

    Code:
    #define DisplaySerial Serial1
    #define LOG_MESSAGES
    
    #ifdef LOG_MESSAGES
    #define HWLOGGING Serial
    #else
    #define HWLOGGING if (1) {} else Serial
    #endif
    
    #include "Goldelox_Serial_4DLib.h"
    #include "GoldeloxBigDemo.h"
    #include "Goldelox_Const4D.h"
    
    Goldelox_Serial_4DLib Display(&DisplaySerial);
    
    // globals for this program
    int fmediatests ;
    
    void Callback(int ErrCode, unsigned char ErrByte)
    {
    #ifdef LOG_MESSAGES
      const char *Error4DText[] = {"OK\0", "Timeout\0", "NAK\0", "Length\0", "Invalid\0"} ;
      HWLOGGING.print(F("Serial 4D Library reports error ")) ;
      HWLOGGING.print(Error4DText[ErrCode]) ;
    
      if (ErrCode == Err4D_NAK)
      {
        HWLOGGING.print(F(" returned data= ")) ;
        HWLOGGING.println(ErrByte) ;
      }
      else
        HWLOGGING.println(F("")) ;
      while (1) ; // you can return here, or you can loop
    #endif
    }
    
    #define RESETLINE 4
    
    void setup()
    {
      pinMode(RESETLINE, OUTPUT);  // Set D4 on Arduino to Output (4D Arduino Adaptor V2 - Display Reset)
      digitalWrite(RESETLINE, 1);  // Reset the Display via D4
      delay(100);
      digitalWrite(RESETLINE, 0);  // unReset the Display via D4
      delay(5000);
    
      Display.TimeLimit4D   = 5000;
      Display.Callback4D = Callback;
      DisplaySerial.begin(9600) ;
    
      delay(1000);
    
    #ifdef LOG_MESSAGES
      HWLOGGING.begin(19200);
      while (!HWLOGGING) continue;
      HWLOGGING.print(F("\n\nBigDemo for Arduino\n"));
    #endif
    }
    
    void loop()
    {
      Display.gfx_Cls() ;
      fmediatests = Display.media_Init();
      if (fmediatests)
        HWLOGGING.println(F("Media tests will be done")) ;
      else
        HWLOGGING.println(F("Media tests cannot be done, missing uSD card")) ;
    
      delay(2000) ;
    
      if (fmediatests)
      {
        Display.gfx_Cls() ;
        Display.putstr("Media Tests") ;
        Display.media_Video(0, 0);
        delay(10000);
      }
    }
Working...
X