On 4/16/2019 7:57 PM, Mark Thompson wrote: > 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
Eh, i guess :p. It at least didn't blow up here. What would be best? s? su like in cbs_av1? Something else? > >> #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". > _______________________________________________ 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".