| 388 | } |
| 389 | |
| 390 | static void load_grain_params(AV1DecContext *s) |
| 391 | { |
| 392 | const AV1RawFrameHeader *header = s->raw_frame_header; |
| 393 | const AV1RawFilmGrainParams *film_grain = &header->film_grain, *src; |
| 394 | AV1RawFilmGrainParams *dst = &s->cur_frame.film_grain; |
| 395 | |
| 396 | if (!film_grain->apply_grain) |
| 397 | return; |
| 398 | |
| 399 | if (film_grain->update_grain) { |
| 400 | memcpy(dst, film_grain, sizeof(*dst)); |
| 401 | return; |
| 402 | } |
| 403 | |
| 404 | src = &s->ref[film_grain->film_grain_params_ref_idx].film_grain; |
| 405 | |
| 406 | memcpy(dst, src, sizeof(*dst)); |
| 407 | dst->grain_seed = film_grain->grain_seed; |
| 408 | } |
| 409 | |
| 410 | static int init_tile_data(AV1DecContext *s) |
| 411 | |