Commit graph

7 commits

Author SHA1 Message Date
Andreas Rheinhardt
2d764069be avcodec/vlc: Use structure instead of VLC_TYPE array as VLC element
In C, qualifiers for arrays are broken:
const VLC_TYPE (*foo)[2] is a pointer to an array of two const VLC_TYPE
elements and unfortunately this is not compatible with a pointer
to a const array of two VLC_TYPE, because the latter does not exist
as array types are never qualified (the qualifier applies to the base
type instead). This is the reason why get_vlc2() doesn't accept
a const VLC table despite not modifying the table at all, as
there is no automatic conversion from VLC_TYPE (*)[2] to
const VLC_TYPE (*)[2].

Fix this by using a structure VLCElem for the VLC table.
This also has the advantage of making it clear which
element is which.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-06-17 16:47:29 +02:00
Reimar Döffinger
70d80ed40f qdm2: Allow hard-coding VLC tables.
Also adds a lot of infrastructure necessary for it.
Some of it is a bit ugly though.
Increases binary size for hardcoded tables by about 12 kB,
which is about 15 kB from qdm2_table minus data and code
saved that was only used for creating it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-18 23:51:07 +01:00
Diego Pettenò
350120d269 tablegen: implement and use WRITE_ARRAY macros
Two macros (WRITE_ARRAY and WRITE_ARRAY_2D) take the prefix (modifiers)
(not all tables are static, and they might not be constant either), the
type, and the name of the array. It'll be copied with same name and type,
and with the correct size of the currently-defined object.

Originally committed as revision 23821 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 12:21:12 +00:00
Diego Pettenò
ac014798ff tableprint: use the type name as-is for the functions' names.
This drops one parameter from the functions' macros, and require structures
to be typedeffed, but ensures that it is possible to map 1-to-1 the type to
the function name.

Originally committed as revision 23820 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 12:20:39 +00:00
Reimar Döffinger
8eaa6e0e04 Change/simplify the tableprint/tablegen API.
Originally committed as revision 22761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 17:11:47 +00:00
Reimar Döffinger
30ad1a6651 Include appropriate header in table generators instead of using a dummy
av_cold define.

Originally committed as revision 22723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-29 21:32:38 +00:00
Reimar Döffinger
062777b343 Allow hard-coding several QDM2 tables (about 32 kB size).
Originally committed as revision 22525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-14 19:30:25 +00:00