mirror of https://github.com/mpv-player/mpv
quant_store moved to frame struct
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5516 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
e3ae844c0e
commit
2563ac95f0
|
@ -40,11 +40,6 @@ static picture_t *picture=NULL; // exported from libmpeg2/decode.c
|
||||||
|
|
||||||
static int table_init_state=0;
|
static int table_init_state=0;
|
||||||
|
|
||||||
#ifdef MPEG12_POSTPROC
|
|
||||||
#include "../postproc/postprocess.h"
|
|
||||||
int quant_store[MPEG2_MBR+1][MPEG2_MBC+1]; // [Review]
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// to set/get/query special features/parameters
|
// to set/get/query special features/parameters
|
||||||
static int control(sh_video_t *sh,int cmd,void* arg,...){
|
static int control(sh_video_t *sh,int cmd,void* arg,...){
|
||||||
return CONTROL_UNKNOWN;
|
return CONTROL_UNKNOWN;
|
||||||
|
@ -184,6 +179,8 @@ static mp_image_t* parse_chunk (sh_video_t* sh, int code, uint8_t * buffer, int
|
||||||
picture->current_frame->base[1]=mpi->planes[1];
|
picture->current_frame->base[1]=mpi->planes[1];
|
||||||
picture->current_frame->base[2]=mpi->planes[2];
|
picture->current_frame->base[2]=mpi->planes[2];
|
||||||
picture->current_frame->mpi=mpi; // tricky!
|
picture->current_frame->mpi=mpi; // tricky!
|
||||||
|
mpi->qscale=&picture->current_frame->quant_store[1][1];
|
||||||
|
mpi->qstride=(MPEG2_MBC+1);
|
||||||
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"mpeg2: [%c] %p %s \n",
|
mp_msg(MSGT_DECVIDEO,MSGL_DBG2,"mpeg2: [%c] %p %s \n",
|
||||||
(picture->picture_coding_type == B_TYPE) ? 'B':'P',
|
(picture->picture_coding_type == B_TYPE) ? 'B':'P',
|
||||||
mpi, (mpi->flags&MP_IMGFLAG_DIRECT)?"DR!":"");
|
mpi, (mpi->flags&MP_IMGFLAG_DIRECT)?"DR!":"");
|
||||||
|
|
|
@ -5,7 +5,7 @@ include ../config.mak
|
||||||
|
|
||||||
SRCS = header.c idct.c idct_mmx.c idct_mlib.c \
|
SRCS = header.c idct.c idct_mmx.c idct_mlib.c \
|
||||||
motion_comp.c motion_comp_mmx.c motion_comp_mlib.c \
|
motion_comp.c motion_comp_mmx.c motion_comp_mlib.c \
|
||||||
slice.c stats.c decode.c
|
slice.c stats.c # decode.c
|
||||||
OBJS = $(SRCS:.c=.o)
|
OBJS = $(SRCS:.c=.o)
|
||||||
INCLUDE = -I. -I../libvo -I.. $(EXTRA_INC) $(MLIB_INC)
|
INCLUDE = -I. -I../libvo -I.. $(EXTRA_INC) $(MLIB_INC)
|
||||||
CFLAGS = $(OPTFLAGS) $(INCLUDE) -DMPG12PLAY
|
CFLAGS = $(OPTFLAGS) $(INCLUDE) -DMPG12PLAY
|
||||||
|
|
|
@ -56,6 +56,12 @@ typedef struct vo_frame_s {
|
||||||
void (* copy) (struct vo_frame_s * frame, uint8_t ** src);
|
void (* copy) (struct vo_frame_s * frame, uint8_t ** src);
|
||||||
void* vo;
|
void* vo;
|
||||||
void* mpi;
|
void* mpi;
|
||||||
|
#ifdef MPEG12_POSTPROC
|
||||||
|
#define MPEG2_MBC 120
|
||||||
|
#define MPEG2_MBR 72
|
||||||
|
int quant_store[MPEG2_MBR+1][MPEG2_MBC+1];
|
||||||
|
#endif
|
||||||
|
|
||||||
// int slice;
|
// int slice;
|
||||||
// void (* field) (struct vo_frame_s * frame, int flags);
|
// void (* field) (struct vo_frame_s * frame, int flags);
|
||||||
// void (* draw) (struct vo_frame_s * frame);
|
// void (* draw) (struct vo_frame_s * frame);
|
||||||
|
@ -219,7 +225,3 @@ void mpeg2_allocate_image_buffers(picture_t * picture);
|
||||||
void mpeg2_free_image_buffers (picture_t * picture);
|
void mpeg2_free_image_buffers (picture_t * picture);
|
||||||
|
|
||||||
|
|
||||||
#ifdef MPEG12_POSTPROC
|
|
||||||
#define MPEG2_MBC 120
|
|
||||||
#define MPEG2_MBR 72
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -32,9 +32,9 @@ extern mc_functions_t mc_functions;
|
||||||
extern void (* idct_block_copy) (int16_t * block, uint8_t * dest, int stride);
|
extern void (* idct_block_copy) (int16_t * block, uint8_t * dest, int stride);
|
||||||
extern void (* idct_block_add) (int16_t * block, uint8_t * dest, int stride);
|
extern void (* idct_block_add) (int16_t * block, uint8_t * dest, int stride);
|
||||||
|
|
||||||
#ifdef MPEG12_POSTPROC
|
//#ifdef MPEG12_POSTPROC
|
||||||
extern int quant_store[MPEG2_MBR+1][MPEG2_MBC+1]; // [Review]
|
//extern int quant_store[MPEG2_MBR+1][MPEG2_MBC+1]; // [Review]
|
||||||
#endif
|
//#endif
|
||||||
|
|
||||||
#include "vlc.h"
|
#include "vlc.h"
|
||||||
|
|
||||||
|
@ -1753,7 +1753,7 @@ int slice_process (picture_t * picture, uint8_t code, uint8_t * buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef MPEG12_POSTPROC
|
#ifdef MPEG12_POSTPROC
|
||||||
quant_store[code][(offset>>4)+1] = picture->quantizer_scale;
|
picture->current_frame->quant_store[code][(offset>>4)+1] = picture->quantizer_scale;
|
||||||
#endif
|
#endif
|
||||||
offset += 16;
|
offset += 16;
|
||||||
CHECK_DISPLAY;
|
CHECK_DISPLAY;
|
||||||
|
@ -1785,7 +1785,7 @@ int slice_process (picture_t * picture, uint8_t code, uint8_t * buffer)
|
||||||
MOTION (motion_fi_zero, MACROBLOCK_MOTION_FORWARD);
|
MOTION (motion_fi_zero, MACROBLOCK_MOTION_FORWARD);
|
||||||
|
|
||||||
#ifdef MPEG12_POSTPROC
|
#ifdef MPEG12_POSTPROC
|
||||||
quant_store[code][(offset>>4)+1] = picture->quantizer_scale;
|
picture->current_frame->quant_store[code][(offset>>4)+1] = picture->quantizer_scale;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
offset += 16;
|
offset += 16;
|
||||||
|
@ -1801,7 +1801,7 @@ int slice_process (picture_t * picture, uint8_t code, uint8_t * buffer)
|
||||||
MOTION (motion_fi_reuse, macroblock_modes);
|
MOTION (motion_fi_reuse, macroblock_modes);
|
||||||
|
|
||||||
#ifdef MPEG12_POSTPROC
|
#ifdef MPEG12_POSTPROC
|
||||||
quant_store[code][(offset>>4)+1] = picture->quantizer_scale;
|
picture->current_frame->quant_store[code][(offset>>4)+1] = picture->quantizer_scale;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
offset += 16;
|
offset += 16;
|
||||||
|
|
Loading…
Reference in New Issue