Hi,

2014-10-26 23:37 GMT+01:00 Michael Niedermayer <michae...@gmx.at>:
>> -#define TEX_VLC_BITS 9
>> +#define TEX_VLC_BITS 10
>
> this probably needs an update to these:
>
> libavcodec/dv.c:RL_VLC_ELEM ff_dv_rl_vlc[1184];
> libavcodec/dv.c:        av_assert1(dv_vlc.table_size == 1184);

So the related assert does not trigger here, because it is not
compiled in. Strangely I had no fate failures. Probably the tests do
not exercise some of the vlcs.

Here's an updated patch.

-- 
Christophe
From 8d1905d01f2974559780a6b3aac3ecd6945f7897 Mon Sep 17 00:00:00 2001
From: Christophe Gisquet <christophe.gisq...@gmail.com>
Date: Tue, 14 Oct 2014 02:02:36 +0200
Subject: [PATCH 1/2] dv: increase VLC reading bits to 10

This also requires a bump in the table size of bit patterns to 1664.
From 356 to 348 cycles.
---
 libavcodec/dv.c | 4 ++--
 libavcodec/dv.h | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index 6cd8a89..2bc7fc5 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -50,7 +50,7 @@
 #include "simple_idct.h"
 
 /* XXX: also include quantization */
-RL_VLC_ELEM ff_dv_rl_vlc[1184];
+RL_VLC_ELEM ff_dv_rl_vlc[1664];
 
 static inline void dv_calc_mb_coordinates(const AVDVProfile *d, int chan,
                                           int seq, int slot, uint16_t *tbl)
@@ -243,7 +243,7 @@ av_cold int ff_dvvideo_init(AVCodecContext *avctx)
          * to accelerate the parsing of partial codes */
         init_vlc(&dv_vlc, TEX_VLC_BITS, j, new_dv_vlc_len,
                  1, 1, new_dv_vlc_bits, 2, 2, 0);
-        av_assert1(dv_vlc.table_size == 1184);
+        av_assert1(dv_vlc.table_size == 1664);
 
         for (i = 0; i < dv_vlc.table_size; i++) {
             int code = dv_vlc.table[i][0];
diff --git a/libavcodec/dv.h b/libavcodec/dv.h
index e68d7b0..5d28263 100644
--- a/libavcodec/dv.h
+++ b/libavcodec/dv.h
@@ -90,9 +90,9 @@ enum dv_pack_type {
  */
 #define DV_MAX_BPM 8
 
-#define TEX_VLC_BITS 9
+#define TEX_VLC_BITS 10
 
-extern RL_VLC_ELEM ff_dv_rl_vlc[1184];
+extern RL_VLC_ELEM ff_dv_rl_vlc[1664];
 
 int ff_dv_init_dynamic_tables(DVVideoContext *s, const AVDVProfile *d);
 
-- 
1.9.2.msysgit.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to