Pimoroni Pico DV - Raw Audio/Video Player #22
+305
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This AV player for the Pimoroni Pico DV uses straight-forward (ish)
ffmpeg
commands to convert any AV source into the raw formats required to blast directly at the i2s hardware/framebuffer.I've tried to make this appropriate for inclusion in this repository, but I'll understand if you feel I need to stick it elsewhere!
Requires:
git clone https://github.com/Gadgetoid/PicoDVI -b av-player
)These should all be cloned alongside each other.
Building:
Warning
This example (and any other example for Pico DVI) requires that your HDMI display is capable of displaying the output signal and supports the configured timings.
By default this example uses
dvi_timing_800x480p_60hz
(I should probably change that) which you'll probably need to change todvi_timing_640x480p_60hz
.You can do this by changing the line:
#define DVI_TIMING dvi_timing_800x480p_60hz
inmain.cpp
Running:
Needs a FAT32-formatted SD card with audio/video files on:
Convert video to raw RGB656 litte-endian using ffmpeg, eg:
Convert audio to raw, signed, 16-bit, little-endian mono using ffmpeg, eg:
Place these files on the SD card, insert, fire up, cross your fingers!
Notes
I'm mindful that this example brings a lot of baggage with the Pimoroni Pico libraries- therefore I have (hopefully) made CMake fail gracefully when these are not available and
raw_av_player
just wont be available as a target.