diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-30 17:57:35 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-07-25 23:32:08 +0200 |
commit | 6265b155bc6dfa9d327273b060af767cc391a3f1 (patch) | |
tree | a14720d5fb21722d2531ad6b50e6071e982bd1b5 /libavcodec/hevcpred.h | |
parent | 13b3e84a4fc9cf2ecfeaa7a9ed148eda496419a6 (diff) |
avcodec/hevcpred: Pass HEVCLocalContext when slice-threading
The HEVC decoder has both HEVCContext and HEVCLocalContext
structures. The latter is supposed to be the structure
containing the per-slicethread state.
Yet that is not how it is handled in practice: Each HEVCLocalContext
has a unique HEVCContext allocated for it and each of these
coincides except in exactly one field: The corresponding
HEVCLocalContext. This makes it possible to pass the HEVCContext
everywhere where logically a HEVCLocalContext should be used.
This commit stops doing this for lavc/hevcpred as well as
the corresponding mips code; the latter is untested.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/hevcpred.h')
-rw-r--r-- | libavcodec/hevcpred.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/hevcpred.h b/libavcodec/hevcpred.h index eb17663683..b1b1dc4f3a 100644 --- a/libavcodec/hevcpred.h +++ b/libavcodec/hevcpred.h @@ -26,10 +26,10 @@ #include <stddef.h> #include <stdint.h> -struct HEVCContext; +struct HEVCLocalContext; typedef struct HEVCPredContext { - void (*intra_pred[4])(struct HEVCContext *s, int x0, int y0, int c_idx); + void (*intra_pred[4])(struct HEVCLocalContext *lc, int x0, int y0, int c_idx); void (*pred_planar[4])(uint8_t *src, const uint8_t *top, const uint8_t *left, ptrdiff_t stride); |