Ticket #53: indeo3codec.diff

File indeo3codec.diff, 8.9 KB (added by Madd_the_Sane, 6 years ago)

experimental patch for Perian to use Indeo

  • ff_MovieImport.c

     
    123123                REGISTER_DECODER(tscc); 
    124124                REGISTER_DECODER(vp6a); 
    125125                REGISTER_DECODER(zmbv); 
     126                REGISTER_DECODER(indeo2); 
     127                REGISTER_DECODER(indeo3); 
    126128                 
    127129                av_log_set_callback(FFMpegCodecprintf); 
    128130        } 
  • FFusionCodec.c

     
    15321532            case 'UMP4': 
    15331533                err = GetComponentResource((Component)glob->self, codecInfoResourceType, kDivX4CodecInfoResID, (Handle *)&tempCodecInfo); 
    15341534                break; 
     1535                                 
     1536                        case 'IV31':    // Indeo 3 
     1537            case 'IV32': 
     1538                        case 'iv31': 
     1539            case 'iv32': 
     1540                err = GetComponentResource((Component)glob->self, codecInfoResourceType, kIndeo3CodecInfoResID, (Handle *)&tempCodecInfo); 
     1541                break; 
     1542                                 
     1543                        case 'RT21':    // Indeo 2 
     1544                err = GetComponentResource((Component)glob->self, codecInfoResourceType, kIndeo2CodecInfoResID, (Handle *)&tempCodecInfo); 
     1545                break; 
    15351546                 
    15361547            case 'DX50': 
    15371548                err = GetComponentResource((Component)glob->self, codecInfoResourceType, kDivX5CodecInfoResID, (Handle *)&tempCodecInfo); 
  • FFusionCodec.h

     
    5050#define kFRAPSCodecInfoResID            273 
    5151#define kSnowCodecInfoResID                     274 
    5252#define kNuvCodecInfoResID                      275 
     53#define kIndeo2CodecInfoResID                   276 
     54#define kIndeo3CodecInfoResID                   277 
    5355#define kTSCCCodecInfoResID                     305 
    5456#define kZMBVCodecInfoResID                     307 
    5557#define kVP6ACodecInfoResID                     309 
  • CodecIDs.h

     
    8181        kVideoFormatReal8                       = 'RV30', 
    8282        kVideoFormatReal9                       = 'RV40', 
    8383        kVideoFormatSnow                        = 'SNOW', 
     84        kVideoFormatIndeo2                      = 'RT21', 
     85        kVideoFormatIndeo3                      = 'IV32', 
    8486         
    8587        kAudioFormatFlashADPCM                  = 'FlAd', 
    8688        kAudioFormatDTS                         = 'DTS ',  
  • FFusionCodec.r

     
    6363#define kMPEG2Name              "MPEG-2 Video" 
    6464#define kFRAPSName              "Fraps" 
    6565#define kSnowName               "Snow" 
     66#define kIndeo2Name             "Intel Indeo 2" 
     67#define kIndeo3Name             "Intel Indeo 3" 
    6668#define kNuvName                "NuppelVideo" 
    6769#define kTSCCName               "Techsmith Screen Capture" 
    6870#define kZMBVName               "DosBox Capture" 
     
    8991#define kFRAPSNameResID         273 
    9092#define kSnowNameResID          274 
    9193#define kNuvNameResID           275 
     94#define kIndeo2NameResID                276 
     95#define kIndeo3NameResID                277 
    9296#define kTSCCNameResID          305 
    9397#define kZMBVNameResID          307 
    9498#define kVP6ANameResID          309 
     
    118122#define kTSCCInfoResID          306 
    119123#define kZMBVInfoResID          308 
    120124#define kVP6AInfoResID          310 
     125#define kIndeo2InfoResID                311 
     126#define kIndeo3InfoResID                312 
    121127 
    122128// These flags specify information about the capabilities of the component 
    123129// Works with 1-bit, 8-bit, 16-bit and 32-bit Pixel Maps 
     
    205211        0                                       // Private Data 
    206212}; 
    207213 
     214 
    208215//--------------------------------------------------------------------------- 
     216// Intel Indeo 2 Description Resource 
     217//--------------------------------------------------------------------------- 
     218 
     219resource 'cdci' (kIndeo2CodecInfoResID) { 
     220        kIndeo2Name,                            // Type 
     221        1,                                      // Version 
     222        1,                                      // Revision level 
     223        kFFusionCodecManufacturer,                      // Manufacturer 
     224        kFFusionDecompressionFlags,             // Decompression Flags 
     225        0,                                      // Compression Flags 
     226        kFFusionFormatFlags,                    // Format Flags 
     227        128,                                    // Compression Accuracy 
     228        128,                                    // Decomression Accuracy 
     229        200,                                    // Compression Speed 
     230        200,                                    // Decompression Speed 
     231        128,                                    // Compression Level 
     232        0,                                      // Reserved 
     233        1,                                      // Minimum Height 
     234        1,                                      // Minimum Width 
     235        0,                                      // Decompression Pipeline Latency 
     236        0,                                      // Compression Pipeline Latency 
     237        0                                       // Private Data 
     238}; 
     239 
     240//--------------------------------------------------------------------------- 
     241// Intel Indeo 3 Description Resource 
     242//--------------------------------------------------------------------------- 
     243 
     244resource 'cdci' (kIndeo3CodecInfoResID) { 
     245        kIndeo3Name,                            // Type 
     246        1,                                      // Version 
     247        1,                                      // Revision level 
     248        kFFusionCodecManufacturer,                      // Manufacturer 
     249        kFFusionDecompressionFlags,             // Decompression Flags 
     250        0,                                      // Compression Flags 
     251        kFFusionFormatFlags,                    // Format Flags 
     252        128,                                    // Compression Accuracy 
     253        128,                                    // Decomression Accuracy 
     254        200,                                    // Compression Speed 
     255        200,                                    // Decompression Speed 
     256        128,                                    // Compression Level 
     257        0,                                      // Reserved 
     258        1,                                      // Minimum Height 
     259        1,                                      // Minimum Width 
     260        0,                                      // Decompression Pipeline Latency 
     261        0,                                      // Compression Pipeline Latency 
     262        0                                       // Private Data 
     263}; 
     264 
     265//--------------------------------------------------------------------------- 
    209266// DivX 4 (OpenDivX) Description Resource 
    210267//--------------------------------------------------------------------------- 
    211268 
     
    32813338}; 
    32823339 
    32833340//--------------------------------------------------------------------------- 
     3341// Indeo 3 Components 
     3342//--------------------------------------------------------------------------- 
     3343resource 'thng' (339) { 
     3344        decompressorComponentType,              // Type 
     3345        'IV32',                                 // SubType 
     3346        kFFusionCodecManufacturer,                      // Manufacturer 
     3347        0,                                      // - use componentHasMultiplePlatforms 
     3348        0, 
     3349        0, 
     3350        0, 
     3351        'STR ',                                 // Name Type 
     3352        kIndeo3NameResID,                        // Name ID 
     3353        'STR ',                                 // Info Type 
     3354        kIndeo3InfoResID,                        // Info ID 
     3355        0,                                      // Icon Type 
     3356        0,                                      // Icon ID 
     3357        kFFusionCodecVersion,                   // Version 
     3358        componentHasMultiplePlatforms +         // Registration Flags  
     3359        componentDoAutoVersion,                 // Registration Flags 
     3360        0,                                      // Resource ID of Icon Family 
     3361        { 
     3362                kFFusionDecompressionFlags,  
     3363                'dlle',                         // Entry point found by symbol name 'dlle' resource 
     3364                256,                            // ID of 'dlle' resource 
     3365                platformPowerPCNativeEntryPoint, 
     3366                kFFusionDecompressionFlags, 
     3367                'dlle', 
     3368                256, 
     3369                platformIA32NativeEntryPoint, 
     3370        }; 
     3371}; 
     3372 
     3373//--------------------------------------------------------------------------- 
     3374// Indeo 2 Components 
     3375//--------------------------------------------------------------------------- 
     3376resource 'thng' (340) { 
     3377        decompressorComponentType,              // Type 
     3378        'RT21',                                 // SubType 
     3379        kFFusionCodecManufacturer,                      // Manufacturer 
     3380        0,                                      // - use componentHasMultiplePlatforms 
     3381        0, 
     3382        0, 
     3383        0, 
     3384        'STR ',                                 // Name Type 
     3385        kIndeo2NameResID,                        // Name ID 
     3386        'STR ',                                 // Info Type 
     3387        kIndeo2InfoResID,                        // Info ID 
     3388        0,                                      // Icon Type 
     3389        0,                                      // Icon ID 
     3390        kFFusionCodecVersion,                   // Version 
     3391        componentHasMultiplePlatforms +         // Registration Flags  
     3392        componentDoAutoVersion,                 // Registration Flags 
     3393        0,                                      // Resource ID of Icon Family 
     3394        { 
     3395                kFFusionDecompressionFlags,  
     3396                'dlle',                         // Entry point found by symbol name 'dlle' resource 
     3397                256,                            // ID of 'dlle' resource 
     3398                platformPowerPCNativeEntryPoint, 
     3399                kFFusionDecompressionFlags, 
     3400                'dlle', 
     3401                256, 
     3402                platformIA32NativeEntryPoint, 
     3403        }; 
     3404}; 
     3405 
     3406 
     3407 
     3408//--------------------------------------------------------------------------- 
    32843409// Component Name Resources 
    32853410//--------------------------------------------------------------------------- 
    32863411 
     
    33763501        "On2 VP6A (Perian)" 
    33773502}; 
    33783503 
     3504resource 'STR ' (kIndeo2NameResID) { 
     3505        "Indeo 2 (Perian)" 
     3506}; 
     3507 
     3508resource 'STR ' (kIndeo3NameResID) { 
     3509        "Indeo 3 (Perian)" 
     3510}; 
     3511 
    33793512//--------------------------------------------------------------------------- 
    33803513// Component Name Resources 
    33813514//--------------------------------------------------------------------------- 
     
    34723605        "Decompresses video stored in On2 VP6A format." 
    34733606}; 
    34743607 
     3608resource 'STR ' (kIndeo2InfoResID) { 
     3609        "Decompresses video stored in Intel's Indeo 2 format." 
     3610}; 
     3611 
     3612resource 'STR ' (kIndeo3InfoResID) { 
     3613        "Decompresses video stored in Intel's Indeo 3 format." 
     3614}; 
     3615 
    34753616//--------------------------------------------------------------------------- 
    34763617// Code Entry Point for Mach-O 
    34773618//---------------------------------------------------------------------------