[cvs] / xvidcore / dshow / src / CXvidDecoder.cpp Repository:
ViewVC logotype

Diff of /xvidcore/dshow/src/CXvidDecoder.cpp

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

revision 1.7, Sun Apr 18 07:55:11 2004 UTC revision 1.8, Sun Jul 11 10:22:47 2004 UTC
# Line 212  Line 212 
212          memset(&init, 0, sizeof(init));          memset(&init, 0, sizeof(init));
213          init.version = XVID_VERSION;          init.version = XVID_VERSION;
214    
         ar_x = ar_y = 0;  
   
215          m_hdll = LoadLibrary(XVID_DLL_NAME);          m_hdll = LoadLibrary(XVID_DLL_NAME);
216          if (m_hdll == NULL) {          if (m_hdll == NULL) {
217                  DPRINTF("dll load failed");                  DPRINTF("dll load failed");
# Line 285  Line 283 
283                  USE_RGB32 = true;                  USE_RGB32 = true;
284                  break;                  break;
285          }          }
286    
287            switch (g_config.aspect_ratio)
288            {
289            case 0: // Auto mode
290                    ar_x = ar_y = 0;
291                    break;
292            case 1:
293                    ar_x = 4;
294                    ar_y = 3;
295                    break;
296            case 2:
297                    ar_x = 16;
298                    ar_y = 9;
299                    break;
300            case 3:
301                    ar_x = 47;
302                    ar_y = 20;
303                    break;
304            }
305  }  }
306    
307  void CXvidDecoder::CloseLib()  void CXvidDecoder::CloseLib()
# Line 331  Line 348 
348                  hdr = &vih->bmiHeader;                  hdr = &vih->bmiHeader;
349                  /* PAR (x:y) is (1/ppm_X):(1/ppm_Y) where ppm is pixels-per-meter                  /* PAR (x:y) is (1/ppm_X):(1/ppm_Y) where ppm is pixels-per-meter
350                     which is equal to ppm_Y:ppm_X */                     which is equal to ppm_Y:ppm_X */
351                    if ((ar_x == 0) && (ar_y == 0)) // selected Auto-mode
352                    {
353                  ar_x = vih->bmiHeader.biYPelsPerMeter * abs(hdr->biWidth);                  ar_x = vih->bmiHeader.biYPelsPerMeter * abs(hdr->biWidth);
354                  ar_y = vih->bmiHeader.biXPelsPerMeter * abs(hdr->biHeight);                  ar_y = vih->bmiHeader.biXPelsPerMeter * abs(hdr->biHeight);
355                    }
356                  DPRINTF("VIDEOINFOHEADER PAR: %d:%d -> AR %d:%d",                  DPRINTF("VIDEOINFOHEADER PAR: %d:%d -> AR %d:%d",
357                          vih->bmiHeader.biYPelsPerMeter,vih->bmiHeader.biXPelsPerMeter, ar_x, ar_y);                          vih->bmiHeader.biYPelsPerMeter,vih->bmiHeader.biXPelsPerMeter, ar_x, ar_y);
358          }          }
# Line 340  Line 360 
360          {          {
361                  VIDEOINFOHEADER2 * vih2 = (VIDEOINFOHEADER2 *) mtIn->Format();                  VIDEOINFOHEADER2 * vih2 = (VIDEOINFOHEADER2 *) mtIn->Format();
362                  hdr = &vih2->bmiHeader;                  hdr = &vih2->bmiHeader;
363                    if ((ar_x == 0) && (ar_y == 0)) // selected Auto-mode
364                    {
365                  ar_x = vih2->dwPictAspectRatioX;                  ar_x = vih2->dwPictAspectRatioX;
366                  ar_y = vih2->dwPictAspectRatioY;                  ar_y = vih2->dwPictAspectRatioY;
367                    }
368                  DPRINTF("VIDEOINFOHEADER2 AR: %d:%d", ar_x, ar_y);                  DPRINTF("VIDEOINFOHEADER2 AR: %d:%d", ar_x, ar_y);
369          }          }
370          else          else

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

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