[FFmpeg-devel] [PATCH] reduce duplicate data

Stefan Gehrer stefan.gehrer
Wed Jun 25 13:34:25 CEST 2008


Michael Niedermayer wrote:
> On Wed, Jun 25, 2008 at 12:50:59PM +0200, Stefan Gehrer wrote:
>> Hi,
>>
>> I have written a small program for a brute-force search of duplicate
>> tables in ffmpeg. The result is attached patch, which removes all
>> duplications between tables bigger than eight bytes.
>> Most of it is removing tables in vc1data.c which are already present in
>> msmpeg4data.c and should be straight-forward.
> 
>> A bit more controversial is the merge of mvtab (h263data.h) and
>> ff_mpeg12_mbMotionVectorTable (mpeg12data.c) as it generates a new
>> dependency for VC1/WMV3 decoder on mpeg12data.o
> 
> Iam against the ff_mpeg12_mbMotionVectorTable table change the rest is
> ok

applied without the motion table merge.

> also it would be nice to have the "small program" in tools/ and maybe use
> it during the regression tests to ensure no additional redundant tables
> have been added.

I will try to get it in reusable shape. Here is it's current output
but there is not much interesting left :)

Stefan


Dup ff_pb_3 (size 8) and ff_interleaved_se_golomb_vlc_code (size 256, 
offs 72)
Dup ff_pb_3 (size 8) and ff_log2_tab (size 256, offs 8)
Dup ff_pb_3 (size 8) and ff_interleaved_golomb_vlc_len (size 256, offs 32)
Dup ff_pb_3 (size 8) and ff_interleaved_dirac_golomb_vlc_code (size 256, 
offs 88)
Dup ff_pb_3 (size 8) and ff_interleaved_ue_golomb_vlc_code (size 256, 
offs 8)
Dup ff_pb_3 (size 8) and ff_ac3_log_add_tab (size 260, offs 145)
Dup ff_pb_3 (size 8) and ff_h264_norm_shift (size 512, offs 32)
Dup ff_pb_3 (size 8) and ff_ue_golomb_vlc_code (size 512, offs 64)
Dup ff_pb_3 (size 8) and ff_se_golomb_vlc_code (size 512, offs 96)
Dup ff_pb_3 (size 8) and ff_golomb_vlc_len (size 512, offs 128)
Dup ff_pb_7 (size 8) and ff_vc1_bfraction_bits (size 23, offs 7)
Dup ff_pb_7 (size 8) and ff_cavs_dequant_shift (size 64, offs 56)
Dup ff_pb_7 (size 8) and ff_log2_tab (size 256, offs 128)
Dup ff_pb_7 (size 8) and ff_ue_golomb_len (size 256, offs 7)
Dup ff_pb_7 (size 8) and ff_golomb_vlc_len (size 512, offs 32)
Dup ff_pb_1 (size 8) and ff_bone (size 8, offs 0)
Dup ff_pb_1 (size 8) and ff_mjpeg_bits_dc_chrominance (size 17, offs 3)
Dup ff_pb_1 (size 8) and ff_ac3_critical_band_size_tab (size 50, offs 0)
Dup ff_pb_1 (size 8) and intra_run (size 102, offs 27)
Dup ff_pb_1 (size 8) and inter_level (size 102, offs 42)
Dup ff_pb_1 (size 8) and intra_level (size 102, offs 88)
Dup ff_pb_1 (size 8) and ff_interleaved_se_golomb_vlc_code (size 256, 
offs 32)
Dup ff_pb_1 (size 8) and ff_interleaved_golomb_vlc_len (size 256, offs 128)
Dup ff_pb_1 (size 8) and ff_interleaved_dirac_golomb_vlc_code (size 256, 
offs 24)
Dup ff_pb_1 (size 8) and ff_interleaved_ue_golomb_vlc_code (size 256, 
offs 32)
Dup ff_pb_1 (size 8) and ff_ac3_log_add_tab (size 260, offs 178)
Dup ff_pb_1 (size 8) and ff_h264_norm_shift (size 512, offs 128)
Dup ff_pb_1 (size 8) and ff_ue_golomb_vlc_code (size 512, offs 128)
Dup ff_pb_1 (size 8) and ff_se_golomb_vlc_code (size 512, offs 128)
Dup ff_pb_1 (size 8) and ff_golomb_vlc_len (size 512, offs 256)
Dup ff_bone (size 8) and ff_mjpeg_bits_dc_chrominance (size 17, offs 3)
Dup ff_bone (size 8) and ff_ac3_critical_band_size_tab (size 50, offs 0)
Dup ff_bone (size 8) and intra_run (size 102, offs 27)
Dup ff_bone (size 8) and inter_level (size 102, offs 42)
Dup ff_bone (size 8) and intra_level (size 102, offs 88)
Dup ff_bone (size 8) and ff_interleaved_se_golomb_vlc_code (size 256, 
offs 32)
Dup ff_bone (size 8) and ff_interleaved_golomb_vlc_len (size 256, offs 128)
Dup ff_bone (size 8) and ff_interleaved_dirac_golomb_vlc_code (size 256, 
offs 24)
Dup ff_bone (size 8) and ff_interleaved_ue_golomb_vlc_code (size 256, 
offs 32)
Dup ff_bone (size 8) and ff_ac3_log_add_tab (size 260, offs 178)
Dup ff_bone (size 8) and ff_h264_norm_shift (size 512, offs 128)
Dup ff_bone (size 8) and ff_ue_golomb_vlc_code (size 512, offs 128)
Dup ff_bone (size 8) and ff_se_golomb_vlc_code (size 512, offs 128)
Dup ff_bone (size 8) and ff_golomb_vlc_len (size 512, offs 256)
Dup ff_mjpeg_val_dc (size 12) and ff_cavs_chroma_qp (size 64, offs 0)
Dup ff_mjpeg_val_dc (size 12) and ff_vc1_pquant_table (size 96, offs 32)
Dup ff_pw_16 (size 16) and ff_mpeg1_default_non_intra_matrix (size 128, 
offs 0)
Dup ff_mpeg12_mbMotionVectorTable (size 34) and mvtab (size 66, offs 0)




More information about the ffmpeg-devel mailing list