moononournation / aviPlayer

29 stars 2 forks source link

blurred stripe effect #4

Open hvuitsme opened 1 week ago

hvuitsme commented 1 week ago

I don't know what caused the stripes on my screen (about 20% of the screen) and I don't know if it's because of my configuration or not, but every video has the same problem. Currently, there is an error in the MJPEG_JPEGDEC project:

/***

// #define GFX_BL DF_GFX_BL // default backlight pin, you may replace DF_GFX_BL to actual backlight pin

define GFX_BL 48

/ More dev device declaration: https://github.com/moononournation/Arduino_GFX/wiki/Dev-Device-Declaration /

if defined(DISPLAY_DEV_KIT)

Arduino_GFX *gfx = create_default_Arduino_GFX();

else / !defined(DISPLAY_DEV_KIT) /

/ More data bus class: https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class / Arduino_DataBus *bus = create_default_Arduino_DataBus();

/ More display class: https://github.com/moononournation/Arduino_GFX/wiki/Display-Class / // Arduino_GFX gfx = new Arduino_ILI9341(bus, DF_GFX_RST, 3 / rotation /, false / IPS /); Arduino_GFX gfx = new Arduino_ST7789(bus, 42 / RST /, 2 / rotation /, true / IPS /, 170, 320, 35, 0, 35, 0);

endif / !defined(DISPLAY_DEV_KIT) /

// #define GFX_SPEED 32000000UL

define GFX_SPEED 80000000UL

// I2C

define I2C_SDA 18

define I2C_SCL 8

define I2C_FREQ 800000UL

// #define I2C_FREQ 400000UL

define SD_SCK 12

define SD_MOSI 11 // cmd

define SD_MISO 13 // d0

define SD_D1 14

define SD_D2 9

define SD_CS 10 // d3

// I2S

define I2S_DEFAULT_GAIN_LEVEL 0.5

define I2S_OUTPUT_NUM I2S_NUM_0

define I2S_MCLK -1

define I2S_BCLK 16

define I2S_LRCK 2

define I2S_DOUT 17

define I2S_DIN -1

// SPI.begin(12 / CLK /, 13 / D0/MISO /, 11 / CMD/MOSI /); // if (!SD.begin(10 / CS /, SPI, 80000000L, ROOT))

IMG_20241019_135854

moononournation commented 1 week ago

I think because 170 not divisible by 4. You may try 168 instead.

hvuitsme commented 1 week ago

I think because 170 not divisible by 4. You may try 168 instead.

i tried with changing width to 172 and it is also multiple of 4, but the problem is still not fixed, similar to 168

-168x320:

Arduino_GFX gfx = new Arduino_ST7789(bus, 42 / RST /, 0 / rotation /, true / IPS */, 168, 320, 35, 0, 35, 0);

ffmpeg -y -i nino.mp4 -ac 2 -ar 44100 -af loudnorm -c:a mp3 -c:v mjpeg -q:v 7 -vf "fps=30,scale=-1:320:flags=lanczos,crop=168:in_h:(in_w-168)/2:0" nino_30fps_mjpeg.avi

IMG_20241019_155351

-172x320:

Arduino_GFX gfx = new Arduino_ST7789(bus, 42 / RST /, 0 / rotation /, true / IPS */, 172, 320, 35, 0, 35, 0);

ffmpeg -y -i nino.mp4 -ac 2 -ar 44100 -af loudnorm -c:a mp3 -c:v mjpeg -q:v 7 -vf "fps=30,scale=-1:320:flags=lanczos,crop=172:in_h:(in_w-172)/2:0" nino_30fps_mjpeg.avi

IMG_20241019_161842

moononournation commented 1 week ago

No idea, can you also try 160?

hvuitsme commented 1 week ago

No idea, can you also try 160?

-160x320:

Arduino_GFX gfx = new Arduino_ST7789(bus, 42 / RST /, 0 / rotation /, true / IPS */, 160, 320, 35, 0, 35, 0);

ffmpeg -y -i nino.mp4 -ac 2 -ar 44100 -af loudnorm -c:a mp3 -c:v mjpeg -q:v 7 -vf "fps=30,scale=-1:320:flags=lanczos,crop=160:in_h:(in_w-160)/2:0" nino_30fps_mjpeg.avi

IMG_20241019_222417

actually mjpeg doesn't need the size to be a multiple of 4, cinepak does, but I tried with 160 as above, it shows that MJPEG_JPEGDEC is really having a problem

hvuitsme commented 4 days ago

Is this problem solved? @moononournation