Commit ca95d1b3 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '7d848264'

* commit '7d848264':
  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: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 6ddda83c 7d848264
This diff is collapsed.
...@@ -22,9 +22,10 @@ ...@@ -22,9 +22,10 @@
#ifndef AVCODEC_CAVS_H #ifndef AVCODEC_CAVS_H
#define AVCODEC_CAVS_H #define AVCODEC_CAVS_H
#include "dsputil.h"
#include "mpegvideo.h"
#include "cavsdsp.h" #include "cavsdsp.h"
#include "dsputil.h"
#include "get_bits.h"
#include "videodsp.h"
#define SLICE_MAX_START_CODE 0x000001af #define SLICE_MAX_START_CODE 0x000001af
#define EXT_START_CODE 0x000001b5 #define EXT_START_CODE 0x000001b5
...@@ -152,15 +153,25 @@ struct dec_2dvlc { ...@@ -152,15 +153,25 @@ struct dec_2dvlc {
int8_t max_run; int8_t max_run;
}; };
typedef struct AVSFrame {
AVFrame *f;
int poc;
} AVSFrame;
typedef struct AVSContext { typedef struct AVSContext {
MpegEncContext s; AVCodecContext *avctx;
CAVSDSPContext cdsp; DSPContext dsp;
Picture picture; ///< currently decoded frame VideoDSPContext vdsp;
Picture DPB[2]; ///< reference frames 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 dist[2]; ///< temporal distances from current frame to ref frames
int low_delay;
int profile, level; int profile, level;
int aspect_ratio; int aspect_ratio;
int mb_width, mb_height; int mb_width, mb_height;
int width, height;
int pic_type; int pic_type;
int stream_revision; ///<0 for samples from 2006, 1 for rm52j encoder int stream_revision; ///<0 for samples from 2006, 1 for rm52j encoder
int progressive; int progressive;
...@@ -221,6 +232,8 @@ typedef struct AVSContext { ...@@ -221,6 +232,8 @@ typedef struct AVSContext {
int direct_den[2]; ///< for scaling in direct B block int direct_den[2]; ///< for scaling in direct B block
int scale_den[2]; ///< for scaling neighbouring MVs int scale_den[2]; ///< for scaling neighbouring MVs
uint8_t *edge_emu_buffer;
int got_keyframe; int got_keyframe;
DCTELEM *block; DCTELEM *block;
} AVSContext; } AVSContext;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment