[vlc-devel] [PATCH 0/8] Replace decoder_t pf_decoder_* callbacks

Thomas Guillem thomas at gllm.fr
Wed Feb 8 19:57:32 CET 2017


On Wed, Feb 8, 2017, at 19:53, Thomas Guillem wrote:
> As discussed during the FOSDEM. Here is the big replacement of every
> pf_decoder_* callbacks.
> 
> This new callback is simpler to handle, no more pointer of pointer to set
> or
> reset (in the past, a lot of modules has been fixed because there were
> leaking
> a *pp_block). Decoder modules will also be able to return a new status.
> 
> I tested transcode, a lot of decoder modules, and I was able to build
> every
> modules (expect mmal). Everything are on the commits (04/05/06).

Patch 04/8 may be too big for the ml. It's also available here:
https://github.com/tguillem/vlc/commit/e20455a5eddadaa6199f706cc393d20c3f38de94

> 
> Regards,
> 
> Thomas Guillem (8):
>   decoder: initialise callbacks regarding of the fmt
>   decoder: fail earlier if the category is unknown
>   decoder: use one update callback per category
>   decoder: refactor pf_decode_* callbacks
>   decoder: add VLCDEC_ECRITICAL status
>   decoder: add VLCDEC_RELOAD status
>   transcode/audio: also drain the decoder
>   transcode/video: also drain the decoder
> 
>  include/vlc_codec.h                      |  89 ++++-----
>  include/vlc_image.h                      |   3 +
>  modules/codec/a52.c                      |  21 ++-
>  modules/codec/adpcm.c                    |  19 +-
>  modules/codec/aes3.c                     |  37 ++--
>  modules/codec/aom.c                      |  28 ++-
>  modules/codec/araw.c                     |  22 +--
>  modules/codec/arib/aribsub.c             |  22 +--
>  modules/codec/avcodec/audio.c            |  21 ++-
>  modules/codec/avcodec/subtitle.c         |  17 +-
>  modules/codec/avcodec/video.c            |  42 +++--
>  modules/codec/bpg.c                      |  20 +-
>  modules/codec/cc.c                       |  19 +-
>  modules/codec/cdg.c                      |  19 +-
>  modules/codec/crystalhd.c                |  27 ++-
>  modules/codec/cvdsub.c                   |  24 +--
>  modules/codec/daala.c                    |  46 +++--
>  modules/codec/dca.c                      |  16 +-
>  modules/codec/ddummy.c                   |  18 +-
>  modules/codec/dmo/dmo.c                  |  94 ++++------
>  modules/codec/dvbsub.c                   |  33 ++--
>  modules/codec/faad.c                     |  34 ++--
>  modules/codec/flac.c                     |  28 +--
>  modules/codec/fluidsynth.c               |  23 +--
>  modules/codec/g711.c                     |  29 ++-
>  modules/codec/gstreamer/gstdecode.c      |  44 ++---
>  modules/codec/jpeg.c                     |  23 +--
>  modules/codec/kate.c                     |  65 ++++---
>  modules/codec/libass.c                   |  29 ++-
>  modules/codec/libmpeg2.c                 |  18 +-
>  modules/codec/lpcm.c                     |  19 +-
>  modules/codec/mad.c                      |  14 +-
>  modules/codec/mft.c                      |  71 +++-----
>  modules/codec/mpg123.c                   |  28 ++-
>  modules/codec/oggspots.c                 |  50 +++--
>  modules/codec/omxil/mediacodec.c         |  85 ++++-----
>  modules/codec/omxil/omxil.c              |  94 +++++-----
>  modules/codec/opus.c                     |  54 ++++--
>  modules/codec/png.c                      |  36 ++--
>  modules/codec/rawvideo.c                 |  36 ++--
>  modules/codec/schroedinger.c             |  33 ++--
>  modules/codec/scte18.c                   |  15 +-
>  modules/codec/scte27.c                   |  13 +-
>  modules/codec/sdl_image.c                |  23 +--
>  modules/codec/spdif.c                    |  20 +-
>  modules/codec/speex.c                    |  63 ++++---
>  modules/codec/spudec/spudec.c            |  35 ++--
>  modules/codec/stl.c                      |  17 +-
>  modules/codec/subsdec.c                  |  20 +-
>  modules/codec/substx3g.c                 |  30 +--
>  modules/codec/subsusf.c                  |  19 +-
>  modules/codec/svcdsub.c                  |  24 +--
>  modules/codec/svg.c                      |  19 +-
>  modules/codec/telx.c                     |  19 +-
>  modules/codec/textst.c                   |  49 +++--
>  modules/codec/theora.c                   |  51 +++---
>  modules/codec/ttml/substtml.c            |  14 +-
>  modules/codec/uleaddvaudio.c             |  19 +-
>  modules/codec/videotoolbox.m             |  45 ++---
>  modules/codec/vorbis.c                   |  35 +++-
>  modules/codec/vpx.c                      |  31 ++--
>  modules/codec/wmafixed/wma.c             |  58 +++---
>  modules/codec/xwd.c                      |  18 +-
>  modules/codec/zvbi.c                     |  20 +-
>  modules/hw/mmal/codec.c                  |  28 +--
>  modules/misc/stats.c                     |  15 +-
>  modules/packetizer/a52.c                 |   1 -
>  modules/packetizer/dts.c                 |   1 -
>  modules/packetizer/flac.c                |   6 +-
>  modules/packetizer/mpeg4audio.c          |   1 -
>  modules/packetizer/mpegaudio.c           |   1 -
>  modules/stream_out/mosaic_bridge.c       | 180 +++++++++---------
>  modules/stream_out/transcode/audio.c     |  99 +++++++---
>  modules/stream_out/transcode/spu.c       |  90 ++++++---
>  modules/stream_out/transcode/transcode.c |   3 +
>  modules/stream_out/transcode/transcode.h |  22 +++
>  modules/stream_out/transcode/video.c     | 112 ++++++++----
>  src/input/decoder.c                      | 301
>  ++++++++++++-------------------
>  src/input/demux.c                        |   4 +-
>  src/libvlccore.sym                       |   1 -
>  src/misc/image.c                         |  44 ++++-
>  81 files changed, 1562 insertions(+), 1454 deletions(-)
> 
> -- 
> 2.11.0
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list