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

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

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

revision 1946, Thu Jan 27 13:18:13 2011 UTC revision 1949, Mon Feb 14 16:59:16 2011 UTC
# Line 20  Line 20 
20   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
21   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
22   *   *
23   * $Id: CXvidDecoder.cpp,v 1.27 2011-01-27 13:18:01 Isibaar Exp $   * $Id: CXvidDecoder.cpp,v 1.28 2011-02-14 16:59:16 Isibaar Exp $
24   *   *
25   ****************************************************************************/   ****************************************************************************/
26    
# Line 89  Line 89 
89          { &MEDIATYPE_Video, &CLSID_DIVX_UC },          { &MEDIATYPE_Video, &CLSID_DIVX_UC },
90          { &MEDIATYPE_Video, &CLSID_DX50 },          { &MEDIATYPE_Video, &CLSID_DX50 },
91          { &MEDIATYPE_Video, &CLSID_DX50_UC },          { &MEDIATYPE_Video, &CLSID_DX50_UC },
92            { &MEDIATYPE_Video, &CLSID_3IVX },
93            { &MEDIATYPE_Video, &CLSID_3IVX_UC },
94            { &MEDIATYPE_Video, &CLSID_3IV0 },
95            { &MEDIATYPE_Video, &CLSID_3IV0_UC },
96            { &MEDIATYPE_Video, &CLSID_3IV1 },
97            { &MEDIATYPE_Video, &CLSID_3IV1_UC },
98            { &MEDIATYPE_Video, &CLSID_3IV2 },
99            { &MEDIATYPE_Video, &CLSID_3IV2_UC },
100            { &MEDIATYPE_Video, &CLSID_LMP4 },
101            { &MEDIATYPE_Video, &CLSID_LMP4_UC },
102            { &MEDIATYPE_Video, &CLSID_RMP4 },
103            { &MEDIATYPE_Video, &CLSID_RMP4_UC },
104            { &MEDIATYPE_Video, &CLSID_SMP4 },
105            { &MEDIATYPE_Video, &CLSID_SMP4_UC },
106            { &MEDIATYPE_Video, &CLSID_HDX4 },
107            { &MEDIATYPE_Video, &CLSID_HDX4_UC },
108          { &MEDIATYPE_Video, &CLSID_MP4V },          { &MEDIATYPE_Video, &CLSID_MP4V },
109    { &MEDIATYPE_Video, &CLSID_MP4V_UC },    { &MEDIATYPE_Video, &CLSID_MP4V_UC },
110  };  };
# Line 605  Line 621 
621    {    {
622    case FOURCC_mp4v:    case FOURCC_mp4v:
623          case FOURCC_MP4V:          case FOURCC_MP4V:
624            case FOURCC_lmp4 :
625            case FOURCC_LMP4 :
626            case FOURCC_rmp4 :
627            case FOURCC_RMP4 :
628            case FOURCC_smp4 :
629            case FOURCC_SMP4 :
630            case FOURCC_hdx4 :
631            case FOURCC_HDX4 :
632                  if (!(g_config.supported_4cc & SUPPORT_MP4V)) {                  if (!(g_config.supported_4cc & SUPPORT_MP4V)) {
633                          CloseLib();                          CloseLib();
634                          return VFW_E_TYPE_NOT_ACCEPTED;                          return VFW_E_TYPE_NOT_ACCEPTED;
635                  }                  }
636                  break;                  break;
637            case FOURCC_divx :
638          case FOURCC_DIVX :          case FOURCC_DIVX :
639            case FOURCC_dx50 :
640            case FOURCC_DX50 :
641                  if (!(g_config.supported_4cc & SUPPORT_DIVX)) {                  if (!(g_config.supported_4cc & SUPPORT_DIVX)) {
642                          CloseLib();                          CloseLib();
643                          return VFW_E_TYPE_NOT_ACCEPTED;                          return VFW_E_TYPE_NOT_ACCEPTED;
644                  }                  }
645                  break;                  break;
646          case FOURCC_DX50 :          case FOURCC_3ivx :
647                  if (!(g_config.supported_4cc & SUPPORT_DX50)) {          case FOURCC_3IVX :
648            case FOURCC_3iv0 :
649            case FOURCC_3IV0 :
650            case FOURCC_3iv1 :
651            case FOURCC_3IV1 :
652            case FOURCC_3iv2 :
653            case FOURCC_3IV2 :
654                    if (!(g_config.supported_4cc & SUPPORT_3IVX)) {
655                          CloseLib();                          CloseLib();
656                          return VFW_E_TYPE_NOT_ACCEPTED;                          return VFW_E_TYPE_NOT_ACCEPTED;
657                  }                  }
658            case FOURCC_xvid :
659          case FOURCC_XVID :          case FOURCC_XVID :
660                  break;                  break;
661    
# Line 1335  Line 1370 
1370          bs_guid_table[i++] = (GUID *)&CLSID_XVID;          bs_guid_table[i++] = (GUID *)&CLSID_XVID;
1371          bs_guid_table[i++] = (GUID *)&CLSID_XVID_UC;          bs_guid_table[i++] = (GUID *)&CLSID_XVID_UC;
1372    
1373          if (g_config.supported_4cc & SUPPORT_DX50) {          if (g_config.supported_4cc & SUPPORT_3IVX) {
1374                  bs_guid_table[i++] = (GUID *)&CLSID_DX50;                  bs_guid_table[i++] = (GUID *)&CLSID_3IVX;
1375                  bs_guid_table[i++] = (GUID *)&CLSID_DX50_UC;                  bs_guid_table[i++] = (GUID *)&CLSID_3IVX_UC;
1376                    bs_guid_table[i++] = (GUID *)&CLSID_3IV0;
1377                    bs_guid_table[i++] = (GUID *)&CLSID_3IV0_UC;
1378                    bs_guid_table[i++] = (GUID *)&CLSID_3IV1;
1379                    bs_guid_table[i++] = (GUID *)&CLSID_3IV1_UC;
1380                    bs_guid_table[i++] = (GUID *)&CLSID_3IV2;
1381                    bs_guid_table[i++] = (GUID *)&CLSID_3IV2_UC;
1382          }          }
1383          if (g_config.supported_4cc & SUPPORT_DIVX) {          if (g_config.supported_4cc & SUPPORT_DIVX) {
1384                  bs_guid_table[i++] = (GUID *)&CLSID_DIVX;                  bs_guid_table[i++] = (GUID *)&CLSID_DIVX;
1385                  bs_guid_table[i++] = (GUID *)&CLSID_DIVX_UC;                  bs_guid_table[i++] = (GUID *)&CLSID_DIVX_UC;
1386                    bs_guid_table[i++] = (GUID *)&CLSID_DX50;
1387                    bs_guid_table[i++] = (GUID *)&CLSID_DX50_UC;
1388          }          }
1389          if (g_config.supported_4cc & SUPPORT_MP4V) {          if (g_config.supported_4cc & SUPPORT_MP4V) {
1390                  bs_guid_table[i++] = (GUID *)&CLSID_MP4V;                  bs_guid_table[i++] = (GUID *)&CLSID_MP4V;
1391                  bs_guid_table[i++] = (GUID *)&CLSID_MP4V_UC;                  bs_guid_table[i++] = (GUID *)&CLSID_MP4V_UC;
1392                    bs_guid_table[i++] = (GUID *)&CLSID_LMP4;
1393                    bs_guid_table[i++] = (GUID *)&CLSID_LMP4_UC;
1394                    bs_guid_table[i++] = (GUID *)&CLSID_RMP4;
1395                    bs_guid_table[i++] = (GUID *)&CLSID_RMP4_UC;
1396                    bs_guid_table[i++] = (GUID *)&CLSID_SMP4;
1397                    bs_guid_table[i++] = (GUID *)&CLSID_SMP4_UC;
1398                    bs_guid_table[i++] = (GUID *)&CLSID_HDX4;
1399                    bs_guid_table[i++] = (GUID *)&CLSID_HDX4_UC;
1400          }          }
1401    
1402          const GUID *subtype;          const GUID *subtype;
# Line 2145  Line 2196 
2196                  hr = pmt->GetGUID(MF_MT_SUBTYPE, &subtype);                  hr = pmt->GetGUID(MF_MT_SUBTYPE, &subtype);
2197          }          }
2198    
2199          if (subtype == CLSID_MP4V || subtype == CLSID_MP4V_UC) {          if (subtype == CLSID_MP4V || subtype == CLSID_MP4V_UC ||
2200                subtype == CLSID_LMP4 || subtype == CLSID_LMP4_UC ||
2201                subtype == CLSID_RMP4 || subtype == CLSID_RMP4_UC ||
2202                subtype == CLSID_SMP4 || subtype == CLSID_SMP4_UC ||
2203                subtype == CLSID_HDX4 || subtype == CLSID_HDX4_UC) {
2204                  if (!(g_config.supported_4cc & SUPPORT_MP4V)) {                  if (!(g_config.supported_4cc & SUPPORT_MP4V)) {
2205                          CloseLib();                          CloseLib();
2206                          hr = MF_E_INVALIDTYPE;                          hr = MF_E_INVALIDTYPE;
# Line 2160  Line 2215 
2215                  else m_create.fourcc = FOURCC_DIVX;                  else m_create.fourcc = FOURCC_DIVX;
2216          }          }
2217          else if (subtype == CLSID_DX50 || subtype == CLSID_DX50_UC) {          else if (subtype == CLSID_DX50 || subtype == CLSID_DX50_UC) {
2218                  if (!(g_config.supported_4cc & SUPPORT_DX50)) {                  if (!(g_config.supported_4cc & SUPPORT_DIVX)) {
2219                          CloseLib();                          CloseLib();
2220                          hr = MF_E_INVALIDTYPE;                          hr = MF_E_INVALIDTYPE;
2221                  }                  }
2222                  else m_create.fourcc = FOURCC_DX50;                  else m_create.fourcc = FOURCC_DX50;
2223          }          }
2224            else if (subtype == CLSID_3IVX || subtype == CLSID_3IVX_UC ||
2225                     subtype == CLSID_3IV0 || subtype == CLSID_3IV0_UC ||
2226                     subtype == CLSID_3IV1 || subtype == CLSID_3IV1_UC ||
2227                     subtype == CLSID_3IV2 || subtype == CLSID_3IV2_UC) {
2228                    if (!(g_config.supported_4cc & SUPPORT_3IVX)) {
2229                            CloseLib();
2230                            hr = MF_E_INVALIDTYPE;
2231                    }
2232                    else m_create.fourcc = FOURCC_3IVX;
2233            }
2234          else if (subtype == CLSID_XVID || subtype == CLSID_XVID_UC) {          else if (subtype == CLSID_XVID || subtype == CLSID_XVID_UC) {
2235                  m_create.fourcc = FOURCC_XVID;                  m_create.fourcc = FOURCC_XVID;
2236          }          }

Legend:
Removed from v.1946  
changed lines
  Added in v.1949

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