mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec/cbs_h2645: add helper macros for signed values
Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
5006dcdf9a
commit
3dc6adf326
@ -255,6 +255,8 @@ static int cbs_write_se_golomb(CodedBitstreamContext *ctx, PutBitContext *pbc,
|
||||
#define flag(name) u(1, name, 0, 1)
|
||||
#define ue(name, range_min, range_max) \
|
||||
xue(name, current->name, range_min, range_max, 0)
|
||||
#define i(width, name, range_min, range_max) \
|
||||
xi(width, name, current->name, range_min, range_max, 0)
|
||||
#define se(name, range_min, range_max) \
|
||||
xse(name, current->name, range_min, range_max, 0)
|
||||
|
||||
@ -264,6 +266,8 @@ static int cbs_write_se_golomb(CodedBitstreamContext *ctx, PutBitContext *pbc,
|
||||
xu(1, name, current->name, 0, 1, subs, __VA_ARGS__)
|
||||
#define ues(name, range_min, range_max, subs, ...) \
|
||||
xue(name, current->name, range_min, range_max, subs, __VA_ARGS__)
|
||||
#define is(width, name, range_min, range_max, subs, ...) \
|
||||
xi(width, name, current->name, range_min, range_max, subs, __VA_ARGS__)
|
||||
#define ses(name, range_min, range_max, subs, ...) \
|
||||
xse(name, current->name, range_min, range_max, subs, __VA_ARGS__)
|
||||
|
||||
@ -291,6 +295,13 @@ static int cbs_write_se_golomb(CodedBitstreamContext *ctx, PutBitContext *pbc,
|
||||
&value, range_min, range_max)); \
|
||||
var = value; \
|
||||
} while (0)
|
||||
#define xi(width, name, var, range_min, range_max, subs, ...) do { \
|
||||
int32_t value = range_min; \
|
||||
CHECK(ff_cbs_read_signed(ctx, rw, width, #name, \
|
||||
SUBSCRIPTS(subs, __VA_ARGS__), \
|
||||
&value, range_min, range_max)); \
|
||||
var = value; \
|
||||
} while (0)
|
||||
#define xse(name, var, range_min, range_max, subs, ...) do { \
|
||||
int32_t value = range_min; \
|
||||
CHECK(cbs_read_se_golomb(ctx, rw, #name, \
|
||||
@ -338,6 +349,7 @@ static int cbs_h2645_read_more_rbsp_data(GetBitContext *gbc)
|
||||
#undef READWRITE
|
||||
#undef RWContext
|
||||
#undef xu
|
||||
#undef xi
|
||||
#undef xue
|
||||
#undef xse
|
||||
#undef infer
|
||||
@ -362,6 +374,12 @@ static int cbs_h2645_read_more_rbsp_data(GetBitContext *gbc)
|
||||
SUBSCRIPTS(subs, __VA_ARGS__), \
|
||||
value, range_min, range_max)); \
|
||||
} while (0)
|
||||
#define xi(width, name, var, range_min, range_max, subs, ...) do { \
|
||||
int32_t value = var; \
|
||||
CHECK(ff_cbs_write_signed(ctx, rw, width, #name, \
|
||||
SUBSCRIPTS(subs, __VA_ARGS__), \
|
||||
value, range_min, range_max)); \
|
||||
} while (0)
|
||||
#define xse(name, var, range_min, range_max, subs, ...) do { \
|
||||
int32_t value = var; \
|
||||
CHECK(cbs_write_se_golomb(ctx, rw, #name, \
|
||||
@ -402,9 +420,11 @@ static int cbs_h2645_read_more_rbsp_data(GetBitContext *gbc)
|
||||
#undef READWRITE
|
||||
#undef RWContext
|
||||
#undef xu
|
||||
#undef xi
|
||||
#undef xue
|
||||
#undef xse
|
||||
#undef u
|
||||
#undef i
|
||||
#undef flag
|
||||
#undef ue
|
||||
#undef se
|
||||
|
Loading…
Reference in New Issue
Block a user