diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-31 13:26:12 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-31 13:38:01 +0100 |
commit | ca95d1b32df1a059be48404a3f1f598725a64d03 (patch) | |
tree | f1ef2b5cd7798d66f9b5a8c0bd7c6367e9d92615 /libavcodec/cavs.h | |
parent | 6ddda83c3f9334511e606d4548a8f13816b71184 (diff) | |
parent | 7d8482640058d66867602a6f58446c9342d9d146 (diff) | |
download | ffmpeg-ca95d1b32df1a059be48404a3f1f598725a64d03.tar.gz |
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.h | 25 |
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; |