Commit 28269849 authored by Michael Niedermayer's avatar Michael Niedermayer

fixed wmv2 slices

Originally committed as revision 1425 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent e5ab4fdd
...@@ -580,7 +580,7 @@ retry: ...@@ -580,7 +580,7 @@ retry:
break; break;
} }
if(s->msmpeg4_version!=4 && s->h263_pred) if(s->msmpeg4_version<4 && s->h263_pred)
ff_mpeg4_clean_buffers(s); ff_mpeg4_clean_buffers(s);
decode_slice(s); decode_slice(s);
......
...@@ -502,7 +502,7 @@ static void msmpeg4_encode_motion(MpegEncContext * s, ...@@ -502,7 +502,7 @@ static void msmpeg4_encode_motion(MpegEncContext * s,
static inline void handle_slices(MpegEncContext *s){ static inline void handle_slices(MpegEncContext *s){
if (s->mb_x == 0) { if (s->mb_x == 0) {
if (s->slice_height && (s->mb_y % s->slice_height) == 0) { if (s->slice_height && (s->mb_y % s->slice_height) == 0) {
if(s->msmpeg4_version != 4){ if(s->msmpeg4_version < 4){
ff_mpeg4_clean_buffers(s); ff_mpeg4_clean_buffers(s);
} }
s->first_slice_line = 1; s->first_slice_line = 1;
...@@ -691,7 +691,7 @@ static inline int msmpeg4_pred_dc(MpegEncContext * s, int n, ...@@ -691,7 +691,7 @@ static inline int msmpeg4_pred_dc(MpegEncContext * s, int n,
b = dc_val[ - 1 - wrap]; b = dc_val[ - 1 - wrap];
c = dc_val[ - wrap]; c = dc_val[ - wrap];
if(s->first_slice_line && (n&2)==0 && s->msmpeg4_version!=4){ if(s->first_slice_line && (n&2)==0 && s->msmpeg4_version<4){
b=c=1024; b=c=1024;
} }
......
...@@ -330,8 +330,9 @@ static int decode_ext_header(Wmv2Context *w){ ...@@ -330,8 +330,9 @@ static int decode_ext_header(Wmv2Context *w){
s->slice_height = s->mb_height / code; s->slice_height = s->mb_height / code;
if(s->avctx->debug&FF_DEBUG_PICT_INFO){ if(s->avctx->debug&FF_DEBUG_PICT_INFO){
printf("fps:%d, br:%d, qpbit:%d, abt_flag:%d, j_type_bit:%d, tl_mv_flag:%d, mbrl_bit:%d, code:%d, flag3:%d\n", printf("fps:%d, br:%d, qpbit:%d, abt_flag:%d, j_type_bit:%d, tl_mv_flag:%d, mbrl_bit:%d, code:%d, flag3:%d, slices:%d\n",
fps, s->bit_rate, w->mspel_bit, w->abt_flag, w->j_type_bit, w->top_left_mv_flag, w->per_mb_rl_bit, code, w->flag3); fps, s->bit_rate, w->mspel_bit, w->abt_flag, w->j_type_bit, w->top_left_mv_flag, w->per_mb_rl_bit, code, w->flag3,
code);
} }
return 0; return 0;
} }
...@@ -578,15 +579,6 @@ static void wmv2_add_block(Wmv2Context *w, DCTELEM *block1, uint8_t *dst, int st ...@@ -578,15 +579,6 @@ static void wmv2_add_block(Wmv2Context *w, DCTELEM *block1, uint8_t *dst, int st
uint8_t temp[2][64]; uint8_t temp[2][64];
int i; int i;
if(w->abt_type_table[n] && 0){
int a,b;
a= block1[0];
b= w->abt_block2[n][0];
block1[0]= a+b;
w->abt_block2[n][0]= a-b;
}
switch(w->abt_type_table[n]){ switch(w->abt_type_table[n]){
case 0: case 0:
if (s->block_last_index[n] >= 0) { if (s->block_last_index[n] >= 0) {
......
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