Showing the changes to libavcodec (1 of 1 file). Show all
Unified · Split
| @@ -109,14 +109,10 @@ void put_rac_direct(inout RangeCoder c, inout uint8_t state, bool bit) · 108 unmodified lines | ||
| 109 | 109 | #endif |
| 110 | 110 | |
| 111 | 111 | int diff = c.range - range1; |
| 112 | − if (bit) { | |
| 113 | − c.low += diff; | |
| 114 | − c.range = range1; | |
| 115 | − } else { | |
| 116 | − c.range = diff; | |
| 117 | − } | |
| 112 | + c.low += bit ? diff : 0; | |
| 113 | + c.range = bit ? range1 : diff; | |
| 118 | 114 | |
| 119 | − if (c.range < 0x100) | |
| 115 | + if (expectEXT(c.range < 0x100, false)) | |
| 120 | 116 | renorm_encoder(c); |
| 121 | 117 | |
| 122 | 118 | state = zero_one_state[(uint(bit) << 8) + state]; |
| @@ -139,12 +135,9 @@ void put_rac_equi(inout RangeCoder c, bool bit) · 16 unmodified lines | ||
| 139 | 135 | debugPrintfEXT("Error: range1 <= 0"); |
| 140 | 136 | #endif |
| 141 | 137 | |
| 142 | − if (bit) { | |
| 143 | − c.low += c.range - range1; | |
| 144 | − c.range = range1; | |
| 145 | − } else { | |
| 146 | − c.range -= range1; | |
| 147 | − } | |
| 138 | + int diff = c.range - range1; | |
| 139 | + c.low += bit ? diff : 0; | |
| 140 | + c.range = bit ? range1 : diff; | |
| 148 | 141 | |
| 149 | 142 | if (expectEXT(c.range < 0x100, false)) |
| 150 | 143 | renorm_encoder(c); |