[FFmpeg-devel] [PATCH] simplify GET_UTF8 to use ff_log2_tab
Reimar Döffinger
Reimar.Doeffinger
Sun Dec 9 15:50:03 CET 2007
Hello,
On Sun, Dec 09, 2007 at 03:38:14PM +0100, Michael Niedermayer wrote:
> On Sun, Dec 09, 2007 at 11:09:25AM +0100, Reimar D?ffinger wrote:
> > currently GET_UTF8 calls av_log2 which is simply overkill,
> > since we only care about the lowest 8 bits.
> > This may be intentional since my suggestion would be problematic
> > if GET_UTF8 should become part of the public API, since ff_log2_tab
> > is not public.
> > A possibility would be to at least use av_log2_16bit or better add a
> > public av_log2_8bit.
> > Comments?
>
> put a extern whatever ff_log2_tab; in GET_UTF8()
Done, but I just realized that's a bit stupid, common.h already does
extern const uint8_t ff_log2_tab[256];
so it is actually redundant as long as GET_UTF8 is in that file and
causes redeclaration compiler warnings.
Unless we'd want to move that extern into the av_log2 and av_log2_16bit
functions, but I doubt that is a good idea either.
Greetings,
Reimar D?ffinger
-------------- next part --------------
Index: libavutil/common.h
===================================================================
--- libavutil/common.h (revision 11199)
+++ libavutil/common.h (working copy)
@@ -236,7 +236,8 @@
#define GET_UTF8(val, GET_BYTE, ERROR)\
val= GET_BYTE;\
{\
- int ones= 7 - av_log2(val ^ 255);\
+ extern const uint8_t ff_log2_tab[256];\
+ int ones= 7 - ff_log2_tab[(uint8_t)~val];\
if(ones==1)\
ERROR\
val&= 127>>ones;\
More information about the ffmpeg-devel
mailing list