change qscale type to int8 and fix qscale ordering

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7985 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
michael 2002-10-30 20:50:33 +00:00
parent d200725e88
commit 31642e2744
6 changed files with 14 additions and 19 deletions

View File

@ -73,7 +73,7 @@ typedef struct mp_image_s {
int x,y,w,h; // visible dimensions
unsigned char* planes[MP_MAX_PLANES];
unsigned int stride[MP_MAX_PLANES];
int* qscale;
char * qscale;
int qstride;
int pict_type; // 0->unknown, 1->I, 2->P, 3->B
int num_planes;

View File

@ -619,16 +619,9 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
}
/* to comfirm with newer lavc style */
#if !defined(FF_POSTPROCESS) && (LIBAVCODEC_BUILD > 4612)
mpi->qscale=avctx->quant_store;
#if LIBAVCODEC_BUILD > 4613
#if LIBAVCODEC_BUILD >= 4633
mpi->qscale=avctx->display_qscale_table;
mpi->qstride=avctx->qstride;
#else
mpi->qstride=MBC+1;
#endif
#elif defined(FF_POSTPROCESS)
mpi->qscale=&quant_store[0][0];
mpi->qstride=MBC+1;
#endif
{

View File

@ -59,7 +59,7 @@ typedef struct vo_frame_s {
#ifdef MPEG12_POSTPROC
#define MPEG2_MBC 120
#define MPEG2_MBR 72
int quant_store[MPEG2_MBR+1][MPEG2_MBC+1];
int8_t quant_store[MPEG2_MBR+1][MPEG2_MBC+1];
#endif
// int slice;

View File

@ -535,7 +535,7 @@ static inline void postProcess(uint8_t src[], int srcStride, uint8_t dst[], int
/* -pp Command line Help
*/
char *postproc_help=
char *pp_help=
"-npp <filterName>[:<option>[:<option>...]][,[-]<filterName>[:<option>...]]...\n"
"long form example:\n"
"-npp vdeblock:autoq,hdeblock:autoq,linblenddeint -npp default,-vdeblock\n"

View File

@ -62,9 +62,11 @@
//filters on
//#define COMPILE_TIME_MODE 0x77
#define QP_STORE_T int
#define QP_STORE_T int8_t
char *pp_help;
typedef void pp_context;
extern char *pp_help;
//FIXME decide if this should be exported at all
typedef struct PPMode{
@ -88,13 +90,13 @@ void pp_postprocess(uint8_t * src[3], int srcStride[3],
uint8_t * dst[3], int dstStride[3],
int horizontalSize, int verticalSize,
QP_STORE_T *QP_store, int QP_stride,
PPMode *mode, void *ppContext, int pict_type);
PPMode *mode, pp_context *ppContext, int pict_type);
// name is the stuff after "-pp" on the command line
PPMode pp_get_mode_by_name_and_quality(char *name, int quality);
void *pp_get_context(int width, int height);
void pp_free_context(void *ppContext);
pp_context *pp_get_context(int width, int height);
void pp_free_context(pp_context *ppContext);
int pp_init(int cpuCaps);
#define PP_CPU_CAPS_MMX 0x80000000

View File

@ -2835,8 +2835,8 @@ static void RENAME(postProcess)(uint8_t src[], int srcStride, uint8_t dst[], int
uint8_t *tempBlock1= c.tempBlocks;
uint8_t *tempBlock2= c.tempBlocks + 8;
#endif
int *QPptr= isColor ? &QPs[(y>>3)*QPStride] :&QPs[(y>>4)*QPStride];
int *nonBQPptr= isColor ? &c.nonBQPTable[(y>>3)*mbWidth] :&c.nonBQPTable[(y>>4)*mbWidth];
int8_t *QPptr= isColor ? &QPs[(y>>3)*QPStride] :&QPs[(y>>4)*QPStride];
int8_t *nonBQPptr= isColor ? &c.nonBQPTable[(y>>3)*mbWidth] :&c.nonBQPTable[(y>>4)*mbWidth];
int QP=0;
/* can we mess with a 8x16 block from srcBlock/dstBlock downwards and 1 line upwards
if not than use a temporary buffer */