summaryrefslogtreecommitdiff
path: root/libavcodec/cavs.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-31 13:26:12 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-31 13:38:01 +0100
commitca95d1b32df1a059be48404a3f1f598725a64d03 (patch)
treef1ef2b5cd7798d66f9b5a8c0bd7c6367e9d92615 /libavcodec/cavs.h
parent6ddda83c3f9334511e606d4548a8f13816b71184 (diff)
parent7d8482640058d66867602a6f58446c9342d9d146 (diff)
Merge commit '7d8482640058d66867602a6f58446c9342d9d146'
* commit '7d8482640058d66867602a6f58446c9342d9d146': cavs: deMpegEncContextize Note, the bugfixes have all been in FFmpeg previously, this just switches away from MpegEncContext Conflicts: libavcodec/cavs.c libavcodec/cavsdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/cavs.h')
-rw-r--r--libavcodec/cavs.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/libavcodec/cavs.h b/libavcodec/cavs.h
index c99ae95ea4..2f033212dd 100644
--- a/libavcodec/cavs.h
+++ b/libavcodec/cavs.h
@@ -22,9 +22,10 @@
#ifndef AVCODEC_CAVS_H
#define AVCODEC_CAVS_H
-#include "dsputil.h"
-#include "mpegvideo.h"
#include "cavsdsp.h"
+#include "dsputil.h"
+#include "get_bits.h"
+#include "videodsp.h"
#define SLICE_MAX_START_CODE 0x000001af
#define EXT_START_CODE 0x000001b5
@@ -152,15 +153,25 @@ struct dec_2dvlc {
int8_t max_run;
};
+typedef struct AVSFrame {
+ AVFrame *f;
+ int poc;
+} AVSFrame;
+
typedef struct AVSContext {
- MpegEncContext s;
- CAVSDSPContext cdsp;
- Picture picture; ///< currently decoded frame
- Picture DPB[2]; ///< reference frames
+ AVCodecContext *avctx;
+ DSPContext dsp;
+ VideoDSPContext vdsp;
+ CAVSDSPContext cdsp;
+ GetBitContext gb;
+ AVSFrame cur; ///< currently decoded frame
+ AVSFrame DPB[2]; ///< reference frames
int dist[2]; ///< temporal distances from current frame to ref frames
+ int low_delay;
int profile, level;
int aspect_ratio;
int mb_width, mb_height;
+ int width, height;
int pic_type;
int stream_revision; ///<0 for samples from 2006, 1 for rm52j encoder
int progressive;
@@ -221,6 +232,8 @@ typedef struct AVSContext {
int direct_den[2]; ///< for scaling in direct B block
int scale_den[2]; ///< for scaling neighbouring MVs
+ uint8_t *edge_emu_buffer;
+
int got_keyframe;
DCTELEM *block;
} AVSContext;