VC-2 10.4 - parse_info() */
| 238 | |
| 239 | /* VC-2 10.4 - parse_info() */ |
| 240 | static void encode_parse_info(VC2EncContext *s, enum DiracParseCodes pcode) |
| 241 | { |
| 242 | uint32_t cur_pos, dist; |
| 243 | |
| 244 | align_put_bits(&s->pb); |
| 245 | |
| 246 | cur_pos = put_bytes_count(&s->pb, 0); |
| 247 | |
| 248 | /* Magic string */ |
| 249 | ff_put_string(&s->pb, "BBCD", 0); |
| 250 | |
| 251 | /* Parse code */ |
| 252 | put_bits(&s->pb, 8, pcode); |
| 253 | |
| 254 | /* Next parse offset */ |
| 255 | dist = cur_pos - s->next_parse_offset; |
| 256 | AV_WB32(s->pb.buf + s->next_parse_offset + 5, dist); |
| 257 | s->next_parse_offset = cur_pos; |
| 258 | put_bits32(&s->pb, pcode == DIRAC_PCODE_END_SEQ ? 13 : 0); |
| 259 | |
| 260 | /* Last parse offset */ |
| 261 | put_bits32(&s->pb, s->last_parse_code == DIRAC_PCODE_END_SEQ ? 13 : dist); |
| 262 | |
| 263 | s->last_parse_code = pcode; |
| 264 | } |
| 265 | |
| 266 | /* VC-2 11.1 - parse_parameters() |
| 267 | * The level dictates what the decoder should expect in terms of resolution |
no test coverage detected