Opened 5 years ago

Closed 3 years ago

#3518 closed enhancement (fixed)

ffmpeg lacks Raspberry Pi hardware encoding support

Reported by: bmarwell Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: omx
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
While gstreamer has a omxh264enc sinc which does use the raspberry pi's built in h264 hardware encoder, ffmpeg will not use this one.

How to reproduce:

% ffmpeg -i input -c:v libx264 ...
ffmpeg version <any>

Now that there's a floss driver, I hope such an enhancemant could be done.

git of gst-omx: http://cgit.freedesktop.org/gstreamer/gst-omx/
Raspberry Pi driver announcement: http://www.raspberrypi.org/archives/6561

Beware, the raspberry pi page is barely useable today (April 1st).

Change History (3)

comment:1 Changed 5 years ago by cehoyos

  • Priority changed from normal to wish
  • Version changed from unspecified to git-master

comment:2 Changed 4 years ago by jbvsmo

Are there any news about allowing hardware decoding and/or enconding on the Raspberry Pi?
The Raspberry Pi 2 model uses the same GPU from the older model.

I believe decoding h264 could be implemented first to allow various players to really work on the device instead of only omxplayer. Also Chromium do use ffmpeg to play HTML5 video content, so this would allow a decent browser to be used.


(From the mailing list)

The h264 encoder is accessible through OpenMAX. This should be enough information to make use of it:
http://www.khronos.org/openmax/il/
https://github.com/raspberrypi/firmware/tree/master/documentation/ilcomponents
along with the decoder code in
https://github.com/raspberrypi/firmware/tree/master/opt/vc/src/hello_pi/hello_video

p.s. App with GPU DEcoding - https://github.com/wrightrocket/omxplayer

comment:3 Changed 3 years ago by cehoyos

  • Component changed from undetermined to avcodec
  • Keywords omx added
  • Resolution set to fixed
  • Status changed from new to closed

I believe this was merged before 3.1 was released.

Note: See TracTickets for help on using tickets.