Commit graph

34 commits

Author SHA1 Message Date
Andreas Rheinhardt
241cb4a48c avcodec/vp3data: Deduplicate coeff_tables
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-08 05:05:10 +01:00
Andreas Rheinhardt
802fc678b2 avcodec/vp3: Use symbols table for VP3 motion vectors
Expressions like array[get_vlc2()] can be optimized by using a symbols
table if the array is always the same for a given VLC. This requirement
is fulfilled for the VLC used for VP3 motion vectors. The reason it
hasn't been done before is probably that the array in this case
contained entries in the range -31..31; but this is no problem with
ff_init_vlc_from_lengths(): Just apply an offset of 31 to the symbols
before storing them in the table used to initialize VP3 motion vectors
and apply an offset of -31 when initializing the actual VLC.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-12-08 17:51:47 +01:00
Andreas Rheinhardt
4cb4345f78 avcodec/vp3: Make tables used to initialize VLCs smaller
This is possible by switching to ff_init_vlc_from_lengths() because it
allows to replace codes of type uint16_t by symbols of type uint8_t; in
some cases (like here) it also allows to replace explicitly coded
codes by implicitly coded symbols.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-12-08 17:51:46 +01:00
Andreas Rheinhardt
22241d12c7 avcodec/vp3: Apply VLC offset during init
By switching to ff_init_vlc_from_lengths() one can apply both positive
as well as negative offsets for free; in this case it even saves space
because one replaces codes tables that don't fit into an uint8_t by
symbols tables that fit into an uint8_t or can even be completely
avoided as they are trivial.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-12-08 17:51:46 +01:00
Andreas Rheinhardt
289e964873 avcodec/vp3: Unify initializing and freeing VLC tables
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-10-21 06:53:41 +02:00
Andreas Rheinhardt
b56031b992 vp3data: Make some arrays unsigned to prevent overflow
Some of the VP3 arrays (namely vp31_intra_y_dequant, vp31_intra_c_dequant
and vp31_inter_dequant) are currently declared as array of (const) int8_t
despite them being only used to directly initialize an array of uint8_t.
vp31_inter_dequant even contains the value 128 which is not
representible in int8_t and might generate overflow warnings by
compilers.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-07-24 15:32:15 +02:00
Peter Ross
b6ca032ade avcodec/vp3data: combine eob_run_base and eob_run_get_bits tables 2019-06-08 09:37:26 +10:00
Peter Ross
2659a0fe36 avcodec/vp3data: use more compact data type 2019-01-08 21:53:53 +11:00
Clément Bœsch
8ef57a0d61 Merge commit '41ed7ab45f'
* commit '41ed7ab45f':
  cosmetics: Fix spelling mistakes

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 21:55:34 +02:00
Vittorio Giovara
41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Michael Niedermayer
1402873601 avcodec/vp3data: use more compact data types
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-30 13:45:15 +02:00
Paul B Mahol
6dfa70f272 Correct few "ffmpeg" typos
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-08-24 11:05:42 +00:00
Michael Niedermayer
d063bb63cb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  VP3: K&R formatting cosmetics

Conflicts:
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-02 00:25:21 +02:00
Vittorio Giovara
d2264740e6 VP3: K&R formatting cosmetics 2014-04-01 23:47:25 +02:00
David Conrad
51ace5777e filter_limit_values only needs 7 bits, make its tables smaller
Originally committed as revision 15499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-01 14:40:29 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Stefan Gehrer
cf2baeb338 mark read-only data as const
Originally committed as revision 13947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-24 20:01:31 +00:00
Diego Biurrun
5b21bdabe4 Add FFMPEG_ prefix to all multiple inclusion guards.
Originally committed as revision 10765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-10-17 09:37:46 +00:00
Måns Rullgård
99545457bf include all prerequisites in header files
Originally committed as revision 9344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-16 22:59:13 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Diego Biurrun
04d7f60143 Add official LGPL license headers to the files that were missing them.
Originally committed as revision 6219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-10 14:02:42 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Alex Beregszaszi
2b18752c28 mode_code_vlc_table size mismatch
Originally committed as revision 4701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-11-13 17:46:21 +00:00
Mike Melanson
7f9926a45e another bitstream extraction to optimize: fixed-length motion vectors
Originally committed as revision 4286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-21 01:12:41 +00:00
Mike Melanson
d30769555f replace unpack_token() with a series of lookup tables
Originally committed as revision 4277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-19 02:43:21 +00:00
Mike Melanson
d8278bab79 replace get_superblock_run_length() with a VLC table
Originally committed as revision 4267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-18 00:11:49 +00:00
Mike Melanson
0ad72bdd5c use VLCs for in place of get_fragment_run_length(), get_mode_code(), and
get_motion_vector_vlc()

Originally committed as revision 4266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 23:39:23 +00:00
Michael Niedermayer
1482fee88d remove duplicate zigzag tables
Originally committed as revision 4259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-17 11:36:07 +00:00
Mike Melanson
a54ea19a52 VP3 post-processing loop filter; disabled until the correct final step
is determined

Originally committed as revision 3996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-01 06:14:45 +00:00
Michael Niedermayer
e96682e6f4 some of the warning fixes by (Michael Roitzsch <mroi at users dot sourceforge dot net>)
Originally committed as revision 3140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-18 17:09:46 +00:00
Mike Melanson
67335dbce3 cut over to using new VP3 DSP functions and remove the old ones; bring
certain source code identifiers in line with official VP3 spec (well,
*my* VP3 spec, anyway)

Originally committed as revision 2856 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-03-08 02:15:13 +00:00
Mike Melanson
463d086bb5 get those permutations straight
Originally committed as revision 1850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-11 02:51:07 +00:00
Mike Melanson
d86053a416 first pass at a new VP3 video decoder
Originally committed as revision 1831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-05-05 02:54:15 +00:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00