On 15/04/2019 22:17, James Almer wrote: > Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavcodec/cbs_h2645.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c > index e74f8dce81..a205293b3c 100644 > --- a/libavcodec/cbs_h2645.c > +++ b/libavcodec/cbs_h2645.c > @@ -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)
I know it's right, but defining "i" as a macro feels like a pretty terrible idea in C :P > #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 > LGTM. Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".