]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/cavs.h
libopenh264dec: Export the decoded profile and level in AVCodecContext
[ffmpeg] / libavcodec / cavs.h
index 26f1e9c7af9b9c53f3a3aee5b4fd9634ffeaadf2..cb549f161ec3c5eec5612cccf80438e2fb9d36e6 100644 (file)
 #ifndef AVCODEC_CAVS_H
 #define AVCODEC_CAVS_H
 
+#include "bitstream.h"
 #include "cavsdsp.h"
-#include "dsputil.h"
-#include "get_bits.h"
+#include "blockdsp.h"
+#include "h264chroma.h"
+#include "idctdsp.h"
 #include "videodsp.h"
 
 #define SLICE_MAX_START_CODE    0x000001af
@@ -160,10 +162,12 @@ typedef struct AVSFrame {
 
 typedef struct AVSContext {
     AVCodecContext *avctx;
-    DSPContext       dsp;
+    BlockDSPContext bdsp;
+    H264ChromaContext h264chroma;
+    IDCTDSPContext idsp;
     VideoDSPContext vdsp;
     CAVSDSPContext  cdsp;
-    GetBitContext gb;
+    BitstreamContext bc;
     AVSFrame cur;     ///< currently decoded frame
     AVSFrame DPB[2];  ///< reference frames
     int dist[2];     ///< temporal distances from current frame to ref frames
@@ -208,7 +212,7 @@ typedef struct AVSContext {
        6:    A3  X2  X3   */
     int pred_mode_Y[3*3];
     int *top_pred_Y;
-    int l_stride, c_stride;
+    ptrdiff_t l_stride, c_stride;
     int luma_scan[4];
     int qp;
     int qp_fixed;
@@ -222,8 +226,8 @@ typedef struct AVSContext {
     uint8_t intern_border_y[26];
     uint8_t topleft_border_y, topleft_border_u, topleft_border_v;
 
-    void (*intra_pred_l[8])(uint8_t *d,uint8_t *top,uint8_t *left,int stride);
-    void (*intra_pred_c[7])(uint8_t *d,uint8_t *top,uint8_t *left,int stride);
+    void (*intra_pred_l[8])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride);
+    void (*intra_pred_c[7])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride);
     uint8_t *col_type_base;
 
     /* scaling factors for MV prediction */
@@ -234,7 +238,7 @@ typedef struct AVSContext {
     uint8_t *edge_emu_buffer;
 
     int got_keyframe;
-    DCTELEM *block;
+    int16_t *block;
 } AVSContext;
 
 extern const uint8_t     ff_cavs_partition_flags[30];