[svn] / trunk / xvidcore / src / encoder.c Repository:
ViewVC logotype

Diff of /trunk/xvidcore/src/encoder.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 13, Sat Mar 9 14:58:50 2002 UTC revision 36, Sat Mar 16 15:55:12 2002 UTC
# Line 187  Line 187 
187          }          }
188    
189          create_vlc_tables();          create_vlc_tables();
190            init_timer();
191    
192          return XVID_ERR_OK;          return XVID_ERR_OK;
193  }  }
# Line 216  Line 217 
217          uint16_t x, y;          uint16_t x, y;
218          Bitstream bs;          Bitstream bs;
219          uint32_t bits;          uint32_t bits;
         uint16_t quant_type = 0;  
220          uint16_t write_vol_header = 0;          uint16_t write_vol_header = 0;
221    
222          start_global_timer();          start_global_timer();
# Line 265  Line 265 
265                  free(temp_dquants);                  free(temp_dquants);
266          }          }
267    
268          if(pEnc->mbParam.global_flags & XVID_H263QUANT)          if(pEnc->mbParam.global_flags & XVID_H263QUANT) {
269                  quant_type = H263_QUANT;                  if(pEnc->mbParam.quant_type != H263_QUANT)
         else if(pEnc->mbParam.global_flags & XVID_MPEGQUANT)  
                 quant_type = MPEG4_QUANT;  
   
         if(pEnc->mbParam.quant_type != quant_type) {  
                 pEnc->mbParam.quant_type = quant_type;  
270                  write_vol_header = 1;                  write_vol_header = 1;
271                    pEnc->mbParam.quant_type = H263_QUANT;
272          }          }
273          else          else if(pEnc->mbParam.global_flags & XVID_MPEGQUANT) {
                 write_vol_header = 0;  
   
         if ((pEnc->mbParam.global_flags & XVID_CUSTOM_QMATRIX) > 0)  
         {  
274                  int ret1, ret2;                  int ret1, ret2;
275    
276                    if(pEnc->mbParam.quant_type != MPEG4_QUANT)
277                            write_vol_header = 1;
278    
279                    pEnc->mbParam.quant_type = MPEG4_QUANT;
280    
281                    if ((pEnc->mbParam.global_flags & XVID_CUSTOM_QMATRIX) > 0) {
282                            if(pFrame->quant_intra_matrix != NULL)
283                  ret1 = set_intra_matrix(pFrame->quant_intra_matrix);                  ret1 = set_intra_matrix(pFrame->quant_intra_matrix);
284                            if(pFrame->quant_inter_matrix != NULL)
285                  ret2 = set_inter_matrix(pFrame->quant_inter_matrix);                  ret2 = set_inter_matrix(pFrame->quant_inter_matrix);
286                    }
287                    else {
288                            ret1 = set_intra_matrix(get_default_intra_matrix());
289                            ret2 = set_inter_matrix(get_default_inter_matrix());
290                    }
291                  if(write_vol_header == 0)                  if(write_vol_header == 0)
292                          write_vol_header = ret1 | ret2;                          write_vol_header = ret1 | ret2;
293          }          }
# Line 317  Line 323 
323                  pResult->ublks = pEnc->sStat.ublks;                  pResult->ublks = pEnc->sStat.ublks;
324          }          }
325    
326          if (pEnc->bitrate)          if (pFrame->quant == 0)
327          {          {
328                  RateControlUpdate(pEnc->mbParam.quant, pFrame->length, pFrame->intra);                  RateControlUpdate(pEnc->mbParam.quant, pFrame->length, pFrame->intra);
329          }          }

Legend:
Removed from v.13  
changed lines
  Added in v.36

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4