[Ffmpeg-devel] Reading bit-reversed VLC codes
Michael Niedermayer
michaelni
Sun Mar 18 20:58:30 CET 2007
Hi
On Sun, Mar 18, 2007 at 07:27:43PM +0000, M?ns Rullg?rd wrote:
> Michael Niedermayer <michaelni at gmx.at> writes:
>
> > Hi
> >
> > On Sun, Mar 18, 2007 at 07:13:30PM +0000, M?ns Rullg?rd wrote:
> >> I need to read VLC codes that are stored in reverse order in the
> >> bitstream, i.e. a 4-bit code value of 5 is returned by get_bits as
> >> 0xa. Is there some way to do this using the lavc VLC reader?
> >
> > for get bits the code in asv1.c
> > static inline int asv2_get_bits(GetBitContext *gb, int n){
> > return ff_reverse[ get_bits(gb, n) << (8-n) ];
> > }
>
> Non-VLC elements are stored the right way around, so I don't need to
> do anything special with those.
>
> > might do what you want, for get_vlc() just change the table
> > before init_vlc()
>
> I tried reversing the bits of each code before init_vlc(), but that
> only gives me an "incorrect codes" message and an error return. I
> guess I did something wrong, but I'm at a loss figuring out what.
well, you cannot just reverse a vlc like that, maybe you could elaborate
on what exactly you are trying to do (link to codec spec?)
i thought that you wanted to reverse the output of get_vlc() not the
bits of the vlc codes as stored in the bitstream later wont work in general
example:
0 0
10 1
11 2
if you now reverse it
0 0
01 1
11 2
what is
0111111111111111111111111111...
is it
0,2,2,2,...
or
1,2,2,2,...
it cannot be decided before the end of the stream ...
init_vlc/get_vlc() doesnt support such non prefix codes (for obvious reasons)
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070318/95fa27de/attachment.pgp>
More information about the ffmpeg-devel
mailing list