+static inline int dirac_get_se_golomb(GetBitContext *gb){
+ uint32_t buf;
+ uint32_t ret;
+
+ ret = svq3_get_ue_golomb(gb);
+
+ if (ret) {
+ OPEN_READER(re, gb);
+ UPDATE_CACHE(re, gb);
+ buf = SHOW_SBITS(re, gb, 1);
+ LAST_SKIP_BITS(re, gb, 1);
+ ret = (ret ^ buf) - buf;
+ CLOSE_READER(re, gb);
+ }
+
+ return ret;
+}
+