[FFmpeg-devel] [FFmpeg-cvslog] avcodec/utvideodec: add vlc multi support

Michael Niedermayer michael at niedermayer.cc
Fri Sep 15 01:19:08 EEST 2023


On Wed, Sep 06, 2023 at 10:19:29PM +0000, Christophe Gisquet wrote:
> ffmpeg | branch: master | Christophe Gisquet <christophe.gisquet at gmail.com> | Sun Jul  9 12:56:35 2017 +0000| [da888b790af779a7489068c25f9e7ab8ac653d41] | committer: Paul B Mahol
> 
> avcodec/utvideodec: add vlc multi support
> 
> Faster decoding, by average 50% faster overall.
> 
> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da888b790af779a7489068c25f9e7ab8ac653d41
> ---
> 
>  libavcodec/utvideo.h    |  1 +
>  libavcodec/utvideodec.c | 92 ++++++++++++++++++++++++-------------------------
>  2 files changed, 46 insertions(+), 47 deletions(-)
> 
> diff --git a/libavcodec/utvideo.h b/libavcodec/utvideo.h
> index 9da9329ff3..e5160aa394 100644
> --- a/libavcodec/utvideo.h
> +++ b/libavcodec/utvideo.h
> @@ -81,6 +81,7 @@ typedef struct UtvideoContext {
>      ptrdiff_t slice_stride;
>      uint8_t *slice_bits, *slice_buffer[4];
>      int      slice_bits_size;
> +    void    *buffer;
>  
>      const uint8_t *packed_stream[4][256];
>      size_t packed_stream_size[4][256];
> diff --git a/libavcodec/utvideodec.c b/libavcodec/utvideodec.c
> index 1f00c58950..ab390be0fa 100644
> --- a/libavcodec/utvideodec.c
> +++ b/libavcodec/utvideodec.c
> @@ -46,7 +46,7 @@ typedef struct HuffEntry {
>  } HuffEntry;
>  
>  static int build_huff(UtvideoContext *c, const uint8_t *src, VLC *vlc,
> -                      int *fsym, unsigned nb_elems)
> +                      VLC_MULTI *multi, int *fsym, unsigned nb_elems)
>  {

before this patch the whole application finishes within 130ms
after this patch with teh short table

255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,24,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,24,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,

this times out eventually not exiting the first call
it always got stuck in many calls to add_level()

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Dictatorship: All citizens are under surveillance, all their steps and
actions recorded, for the politicians to enforce control.
Democracy: All politicians are under surveillance, all their steps and
actions recorded, for the citizens to enforce control.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230915/29be2392/attachment.sig>


More information about the ffmpeg-devel mailing list