[vlc-devel] [RFC PATCH 00/10] Decoder fallback: 1/ add a way to deactivate hwaccel

Thomas Guillem thomas at gllm.fr
Thu Apr 21 11:53:34 CEST 2016

The plan for decoder fallback:

 1/ Add a way to deactivate hwaccel (current patch set)

 2/ Notify es_out.c or input.c when there is a decoder error. There will be 3
 types or error: generic, Hardware, output.

 3/ es_out should EsUnselect a track (and destroy the decoder) in case of error
 (I'm stuck here, because threads)

 4/ Forward decoders error to libvlc to notify that a specific ES crashed.
 Libvlc users will be able to handle this error and do something clever about
 it (change audiotrack, restart, re-open the video track without hwaccel)

So, First set: add a way to deactivate hardware acceleration from libvlc.
Currently, if you want to deactivate hwaccel you have to play with the codec
option and know the name of the module you want to enable/disable. This is not
a good solution since it's OS/Hardware dependent.

I have one question about this set of patches. I decided to add 2 options, one
for video, one for audio. Maybe we want to merge them, any thought about it ?


Thomas Guillem (10):
  options: add codec-video-hw and codec-audio-hw boolean options
  decoder: add decoder_ShouldHWAccel helper
  avcodec: don't use va if hwaccel is disabled
  mmal: fail if hwaccel is disabled
  videotoolbox: fail if hwaccel is disabled
  omxil: fail if hwaccel is disabled
  mediacodec: fail if hwaccel is disabled
  mediacodec: remove mediacodec-audio option
  mediacodec: increase capability
  libvlc: media_player: add hwaccel get/set

 include/vlc/libvlc_media_player.h | 45 +++++++++++++++++++++++++++++++++++++++
 include/vlc_codec.h               |  8 +++++++
 lib/libvlc.sym                    |  2 ++
 lib/media_player.c                | 36 +++++++++++++++++++++++++++++++
 modules/codec/avcodec/video.c     | 23 +++++++++++---------
 modules/codec/omxil/mediacodec.c  | 10 +++------
 modules/codec/omxil/omxil.c       |  3 +++
 modules/codec/videotoolbox.m      |  3 +++
 modules/hw/mmal/codec.c           |  3 +++
 src/libvlc-module.c               | 17 +++++++++++++++
 10 files changed, 133 insertions(+), 17 deletions(-)


More information about the vlc-devel mailing list