[FFmpeg-devel] CBS

Michael Niedermayer michael at niedermayer.cc
Tue Aug 6 20:05:38 EEST 2024


Hi

Did CBS win the obfuscated C contest yet?

I was just looking at a msan issue and then looked at this:

CHECK(FUNC_SEI(message_list)(ctx, rw, &current->message_list, 1));


#define CHECK(call) do { \
        err = (call); \
        if (err < 0) \
            return err; \
    } while (0)

#define FUNC_NAME2(rw, codec, name) cbs_ ## codec ## _ ## rw ## _ ## name
#define FUNC_NAME1(rw, codec, name) FUNC_NAME2(rw, codec, name)
#define FUNC_H264(name) FUNC_NAME1(READWRITE, h264, name)
#define FUNC_H265(name) FUNC_NAME1(READWRITE, h265, name)
#define FUNC_H266(name) FUNC_NAME1(READWRITE, h266, name)
#define FUNC_SEI(name)  FUNC_NAME1(READWRITE, sei,  name)

#define SEI_FUNC(name, args) \
static int FUNC(name) args;  \
static int FUNC(name ## _internal)(CodedBitstreamContext *ctx, \
                                   RWContext *rw, void *cur,   \
                                   SEIMessageState *state)     \
{ \
    return FUNC(name)(ctx, rw, cur, state); \
} \
static int FUNC(name) args


anyway, can we remove all preprocessor use from cbs ?

thx

--
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Dictatorship naturally arises out of democracy, and the most aggravated
form of tyranny and slavery out of the most extreme liberty. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240806/c304a018/attachment.sig>


More information about the ffmpeg-devel mailing list