Changeset 1087

Show
Ignore:
Timestamp:
06/28/09 16:35:38 (9 months ago)
Author:
astrange
Message:

Merge trunk to release branch.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/perian-1.1

    • Property svn:mergeinfo changed from /trunk:969-1080 to /trunk:969-1086
  • branches/perian-1.1/CPFPerianPrefPaneController.m

    r1081 r1087  
    459459} 
    460460 
     461- (void) finalize 
     462{ 
     463        [[NSDistributedNotificationCenter defaultCenter] removeObserver:self name:UPDATE_STATUS_NOTIFICATION object:nil]; 
     464        if(auth != nil) 
     465                AuthorizationFree(auth, 0); 
     466        [super finalize]; 
     467} 
     468 
    461469#pragma mark Install/Uninstall 
    462470 
  • branches/perian-1.1/CommonUtils.c

    r1081 r1087  
    407407                int err = Gestalt(gestaltPowerPCProcessorFeatures, &response); 
    408408                 
    409                 altivec = !err && ((response & gestaltPowerPCHasVectorInstructions) != 0); 
     409                altivec = !err && ((response & (1 << gestaltPowerPCHasVectorInstructions)) != 0); 
    410410        } 
    411411         
  • branches/perian-1.1/FFusionCodec.c

    r1081 r1087  
    3232#include <QuickTime/QuickTime.h> 
    3333#include <Accelerate/Accelerate.h> 
     34#include <sys/sysctl.h> 
    3435 
    3536#include "FFusionCodec.h" 
     
    414415                if (glob->begin.parser) 
    415416                { 
    416                         freeFFusionParser(glob->begin.parser); 
     417                        ffusionParserFree(glob->begin.parser); 
    417418                } 
    418419                 
  • branches/perian-1.1/FrameBuffer.h

    r1081 r1087  
    103103void FFusionDataSetUnparsed(FFusionData *data, uint8_t *buffer, int bufferSize); 
    104104 
     105void FFusionDataReadUnparsed(FFusionData *data); 
    105106 
    106107/*! 
  • branches/perian-1.1/Perian.xcodeproj/project.pbxproj

    r1083 r1087  
    20412041                                GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 
    20422042                                GCC_VERSION = 4.0; 
     2043                                "GCC_VERSION[arch=*]" = ""; 
     2044                                "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 
    20432045                                GCC_WARN_ABOUT_RETURN_TYPE = YES; 
    20442046                                GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 
     2047                                GCC_WARN_UNUSED_VALUE = YES; 
    20452048                                GCC_WARN_UNUSED_VARIABLE = YES; 
    20462049                                INFOPLIST_FILE = "Plists/Perian-Info.plist"; 
     
    20562059                                ); 
    20572060                                OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 
    2058                                 PREBINDING = NO; 
    20592061                                PRODUCT_NAME = Perian; 
    20602062                                REZ_PREPROCESSOR_DEFINITIONS = ""; 
     2063                                WARNING_CFLAGS = "-Wimplicit"; 
    20612064                                WRAPPER_EXTENSION = component; 
    20622065                        }; 
     
    20762079                                GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 
    20772080                                GCC_VERSION = 4.0; 
     2081                                "GCC_VERSION[arch=*]" = ""; 
     2082                                "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 
    20782083                                GCC_WARN_ABOUT_RETURN_TYPE = YES; 
    20792084                                GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 
    20802085                                GCC_WARN_UNINITIALIZED_AUTOS = YES; 
     2086                                GCC_WARN_UNUSED_VALUE = YES; 
    20812087                                GCC_WARN_UNUSED_VARIABLE = YES; 
    20822088                                INFOPLIST_FILE = "Plists/Perian-Info.plist"; 
     
    20892095                                OTHER_CFLAGS_ppc = "$(OTHER_CFLAGS)"; 
    20902096                                OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 
    2091                                 PREBINDING = NO; 
    20922097                                PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; 
    20932098                                PRODUCT_NAME = Perian; 
     2099                                WARNING_CFLAGS = "-Wimplicit"; 
    20942100                                WRAPPER_EXTENSION = component; 
    20952101                        }; 
     
    22172223                                GCC_STRICT_ALIASING = YES; 
    22182224                                GCC_VERSION = 4.0; 
     2225                                "GCC_VERSION[arch=*]" = ""; 
     2226                                "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 
    22192227                                GCC_WARN_ABOUT_RETURN_TYPE = YES; 
    22202228                                GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 
    22212229                                GCC_WARN_UNINITIALIZED_AUTOS = YES; 
     2230                                GCC_WARN_UNUSED_VALUE = YES; 
    22222231                                GCC_WARN_UNUSED_VARIABLE = YES; 
    22232232                                INFOPLIST_FILE = "Plists/Perian-Info.plist"; 
     
    22342243                                ); 
    22352244                                OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 
    2236                                 PREBINDING = NO; 
    22372245                                PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; 
    22382246                                PRODUCT_NAME = Perian; 
     2247                                WARNING_CFLAGS = "-Wimplicit"; 
    22392248                                WRAPPER_EXTENSION = component; 
    22402249                        }; 
     
    23012310                        isa = XCBuildConfiguration; 
    23022311                        buildSettings = { 
    2303                                 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 
     2312                                ARCHS = ( 
     2313                                        x86_64, 
     2314                                        ppc, 
     2315                                        i386, 
     2316                                ); 
    23042317                                COPY_PHASE_STRIP = YES; 
    23052318                                GCC_DYNAMIC_NO_PIC = NO; 
     2319                                GCC_ENABLE_OBJC_GC = supported; 
    23062320                                GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 
    23072321                                GCC_MODEL_TUNING = G5; 
     
    23092323                                GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 
    23102324                                GCC_VERSION = 4.0; 
     2325                                "GCC_VERSION[arch=*]" = ""; 
     2326                                "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 
    23112327                                INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 
    23122328                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; 
     
    23222338                                PREBINDING = NO; 
    23232339                                PRODUCT_NAME = Perian; 
     2340                                SDKROOT = macosx10.4; 
    23242341                                "SDKROOT[arch=*]" = macosx10.4; 
    2325                                 "SDKROOT[arch=ppc64]" = macosx10.5; 
    23262342                                "SDKROOT[arch=x86_64]" = macosx10.5; 
    23272343                                WRAPPER_EXTENSION = prefPane; 
     
    23912407                                PREBINDING = NO; 
    23922408                                PRODUCT_NAME = ssa2html; 
     2409                                SDKROOT = ""; 
    23932410                        }; 
    23942411                        name = Development; 
     
    23992416                                ALWAYS_SEARCH_USER_PATHS = NO; 
    24002417                                COPY_PHASE_STRIP = YES; 
    2401                                 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 
    24022418                                GCC_MODEL_TUNING = G5; 
    24032419                                INSTALL_PATH = /usr/local/bin; 
    24042420                                PREBINDING = NO; 
    24052421                                PRODUCT_NAME = ssa2html; 
     2422                                SDKROOT = ""; 
    24062423                        }; 
    24072424                        name = Deployment; 
     
    24142431                                INSTALL_PATH = /usr/local/bin; 
    24152432                                PRODUCT_NAME = ssa2html; 
     2433                                SDKROOT = ""; 
    24162434                        }; 
    24172435                        name = "Deployment+Debug"; 
     
    24282446                                INSTALL_PATH = /usr/local/bin; 
    24292447                                PRODUCT_NAME = "detect-encoding"; 
     2448                                SDKROOT = ""; 
    24302449                        }; 
    24312450                        name = Development; 
     
    24362455                                ALWAYS_SEARCH_USER_PATHS = NO; 
    24372456                                COPY_PHASE_STRIP = YES; 
    2438                                 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 
    24392457                                GCC_MODEL_TUNING = G5; 
    24402458                                GCC_PRECOMPILE_PREFIX_HEADER = YES; 
     
    24422460                                INSTALL_PATH = /usr/local/bin; 
    24432461                                PRODUCT_NAME = "detect-encoding"; 
     2462                                SDKROOT = ""; 
    24442463                        }; 
    24452464                        name = Deployment; 
     
    24542473                                INSTALL_PATH = /usr/local/bin; 
    24552474                                PRODUCT_NAME = "detect-encoding"; 
     2475                                SDKROOT = ""; 
    24562476                        }; 
    24572477                        name = "Deployment+Debug"; 
     
    25232543                        isa = XCBuildConfiguration; 
    25242544                        buildSettings = { 
     2545                                ARCHS = ( 
     2546                                        x86_64, 
     2547                                        ppc, 
     2548                                        i386, 
     2549                                ); 
    25252550                                COPY_PHASE_STRIP = NO; 
    25262551                                GCC_DYNAMIC_NO_PIC = NO; 
     2552                                GCC_ENABLE_OBJC_GC = supported; 
    25272553                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 
    25282554                                GCC_MODEL_TUNING = G5; 
     
    25312557                                GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 
    25322558                                GCC_VERSION = 4.0; 
     2559                                "GCC_VERSION[arch=*]" = ""; 
     2560                                "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 
    25332561                                GCC_WARN_ABOUT_RETURN_TYPE = YES; 
    25342562                                GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; 
     
    25362564                                GCC_WARN_SIGN_COMPARE = YES; 
    25372565                                GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 
    2538                                 GCC_WARN_UNUSED_FUNCTION = YES; 
    2539                                 GCC_WARN_UNUSED_LABEL = YES; 
    2540                                 GCC_WARN_UNUSED_PARAMETER = NO; 
    2541                                 GCC_WARN_UNUSED_VALUE = NO; 
     2566                                GCC_WARN_UNUSED_VALUE = YES; 
    25422567                                GCC_WARN_UNUSED_VARIABLE = YES; 
    25432568                                INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 
     
    25462571                                INFOPLIST_PREPROCESS = YES; 
    25472572                                INSTALL_PATH = "$(HOME)/Library/Bundles"; 
     2573                                ONLY_ACTIVE_ARCH = YES; 
    25482574                                OTHER_LDFLAGS = ( 
    25492575                                        "-framework", 
     
    25542580                                PREBINDING = NO; 
    25552581                                PRODUCT_NAME = Perian; 
     2582                                SDKROOT = macosx10.4; 
     2583                                "SDKROOT[arch=*]" = macosx10.4; 
     2584                                "SDKROOT[arch=x86_64]" = macosx10.5; 
    25562585                                WRAPPER_EXTENSION = prefPane; 
    25572586                        }; 
     
    25612590                        isa = XCBuildConfiguration; 
    25622591                        buildSettings = { 
    2563                                 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 
     2592                                ARCHS = ( 
     2593                                        x86_64, 
     2594                                        ppc, 
     2595                                        i386, 
     2596                                ); 
    25642597                                COPY_PHASE_STRIP = YES; 
    25652598                                GCC_DYNAMIC_NO_PIC = NO; 
     2599                                GCC_ENABLE_OBJC_GC = supported; 
    25662600                                GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 
    25672601                                GCC_MODEL_TUNING = G5; 
     
    25692603                                GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 
    25702604                                GCC_VERSION = 4.0; 
     2605                                "GCC_VERSION[arch=*]" = ""; 
     2606                                "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 
    25712607                                INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 
    25722608                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; 
     
    25842620                                SDKROOT = macosx10.4; 
    25852621                                "SDKROOT[arch=*]" = macosx10.4; 
    2586                                 "SDKROOT[arch=ppc64]" = macosx10.5; 
    25872622                                "SDKROOT[arch=x86_64]" = macosx10.5; 
    25882623                                WRAPPER_EXTENSION = prefPane; 
  • branches/perian-1.1/Subtitles/SubATSUIRenderer.m

    r1081 r1087  
    253253                 
    254254                UCCreateTextBreakLocator(NULL, 0, kUCTextBreakLineMask, &breakLocator); 
    255                 [[SubContext alloc] initWithNonSSAType:kSubTypeSRT delegate:self]; 
     255                context = [[SubContext alloc] initWithNonSSAType:kSubTypeSRT delegate:self]; 
    256256        } 
    257257         
     
    277277                 
    278278                UCCreateTextBreakLocator(NULL, 0, kUCTextBreakLineMask, &breakLocator); 
    279                 [[SubContext alloc] initWithHeaders:headers styles:styles delegate:self]; 
     279                context = [[SubContext alloc] initWithHeaders:headers styles:styles delegate:self]; 
    280280        } 
    281281         
     
    303303-(void)completedHeaderParsing:(SubContext*)sc 
    304304{ 
    305         context = sc; 
    306         screenScaleX = videoWidth / context->resX; 
    307         screenScaleY = videoHeight / context->resY; 
     305        screenScaleX = videoWidth / sc->resX; 
     306        screenScaleY = videoHeight / sc->resY; 
    308307} 
    309308 
     
    11861185void SubPrerollFromHeader(char *header, int headerLen) 
    11871186{ 
    1188         NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    11891187        SubtitleRendererPtr s = headerLen ? SubInitForSSA(header, headerLen, 640, 480) 
    11901188                                                                      : SubInitNonSSA(640, 480); 
     
    12131211         
    12141212        SubDisposeRenderer(s); 
    1215         [pool release]; 
    12161213} 
    12171214 
  • branches/perian-1.1/Subtitles/SubContext.m

    r1081 r1087  
    268268                 
    269269        } 
    270          
     270 
    271271        return self; 
    272272} 
     
    285285                defaultStyle = [[SubStyle defaultStyleWithDelegate:delegate] retain];            
    286286        } 
    287          
     287 
    288288        return self; 
    289289} 
  • branches/perian-1.1/Subtitles/SubImport.h

    r1081 r1087  
    110110{ 
    111111        __strong void *priv; 
     112        int retainCount; 
    112113         
    113114public: 
  • branches/perian-1.1/Subtitles/SubImport.mm

    r1081 r1087  
    14331433        priv = [[SubSerializer alloc] init]; 
    14341434    CFRetain(priv); 
     1435        retainCount = 1; 
    14351436} 
    14361437 
     
    14721473 
    14731474void CXXSubSerializer::release() 
    1474 
    1475         SubSerializer *s = (SubSerializer*)priv; 
    1476         int r = [s retainCount]; 
    1477          
    1478         if (r == 1) delete this; 
    1479         else [s release]; 
     1475{        
     1476        retainCount--; 
     1477         
     1478        if (!retainCount) 
     1479                delete this; 
    14801480} 
    14811481 
    14821482void CXXSubSerializer::retain() 
    14831483{ 
    1484         [(SubSerializer*)priv retain]
     1484        retainCount++
    14851485} 
    14861486 
  • branches/perian-1.1/TextSubCodec.c

    r1081 r1087  
    117117        glob->ssa = NULL; 
    118118        glob->colorSpace = NULL; 
     119        glob->translateSRT = true; 
    119120         
    120121        // Open and target an instance of the base decompressor as we delegate 
     
    248249         
    249250        capabilities->flags |= codecCanAsync | codecCanAsyncWhen | codecCanScale; 
    250         capabilities->flags2 |= codecDrawsHigherQualityScaled; 
    251      
    252         glob->colorSpace = NULL; 
    253         glob->translateSRT = true; 
    254         glob->ssa = NULL; 
     251        capabilities->flags2 |= codecDrawsHigherQualityScaled;     
    255252         
    256253        if (!glob->ssa) { 
  • branches/perian-1.1/VobSubCodec.c

    r1081 r1087  
    2424#include "VobSubCodec.h" 
    2525#include "Codecprintf.h" 
     26#include "CommonUtils.h" 
    2627#include <zlib.h> 
    2728#include "avcodec.h" 
     
    8586static ComponentResult ReadPacketControls(UInt8 *packet, UInt32 palette[16], PacketControlData *controlDataOut); 
    8687extern void initLib(); 
     88extern void init_FFmpeg(); 
    8789 
    8890ComponentResult VobSubCodecOpen(VobSubCodecGlobals glob, ComponentInstance self) 
  • branches/perian-1.1/bitstream_info.c

    r1081 r1087  
    3636#include "parser.h" 
    3737#include "golomb.h" 
     38#include "mpeg4video_parser.h" 
     39#include "Codecprintf.h" 
    3840 
    3941#include "CodecIDs.h" 
     
    868870} 
    869871 
    870 void freeFFusionParser(FFusionParserContext *parser) 
    871 
     872void ffusionParserFree(FFusionParserContext *parser) 
     873
     874        AVCodecParser *avparse = parser->parserStructure->avparse; 
     875         
    872876        if(parser->pc) 
    873877        { 
    874                 if(parser->pc->priv_data) 
    875                         av_free(parser->pc->priv_data); 
     878                if (avparse->parser_close) 
     879                        avparse->parser_close(parser->pc); 
     880                av_free(parser->pc->priv_data); 
    876881                av_free(parser->pc); 
    877882        } 
    878         if(parser->avctx) 
    879                 av_free(parser->avctx); 
    880         if(parser->internalContext) 
    881                 av_free(parser->internalContext); 
     883        av_free(parser->avctx); 
     884        av_free(parser->internalContext); 
    882885        free(parser); 
    883886} 
     
    888891    AVCodecParser *parser; 
    889892        FFusionParser *ffParser; 
    890     int ret; 
    891         struct AVCodecContext *ctx = avcodec_alloc_context(); 
     893    int ret, i; 
    892894         
    893895    if(codec_id == CODEC_ID_NONE) 
     
    898900    for(ffParser = ffusionFirstParser; ffParser != NULL; ffParser = ffParser->next) { 
    899901                parser = ffParser->avparse; 
    900         if (parser->codec_ids[0] == codec_id || 
    901             parser->codec_ids[1] == codec_id || 
    902             parser->codec_ids[2] == codec_id || 
    903             parser->codec_ids[3] == codec_id || 
    904             parser->codec_ids[4] == codec_id) 
    905             goto found; 
     902                 
     903                for (i = 0; i < 5; i++) 
     904                        if (parser->codec_ids[i] == codec_id) 
     905                                goto found; 
    906906    } 
    907907    return NULL; 
     
    928928         
    929929        FFusionParserContext *parserContext = malloc(sizeof(FFusionParserContext)); 
    930         parserContext->avctx = ctx
     930        parserContext->avctx = avcodec_alloc_context()
    931931        parserContext->pc = s; 
    932932        parserContext->parserStructure = ffParser; 
  • branches/perian-1.1/bitstream_info.h

    r1081 r1087  
    5959void initFFusionParsers(); 
    6060FFusionParserContext *ffusionParserInit(int codec_id); 
     61void ffusionParserFree(FFusionParserContext *parser); 
    6162int ffusionParseExtraData(FFusionParserContext *parser, const uint8_t *buf, int buf_size); 
    6263int ffusionParse(FFusionParserContext *parser, const uint8_t *buf, int buf_size, int *out_buf_size, int *type, int *skippable); 
  • branches/perian-1.1/ff_MovieImport.c

    r1083 r1087  
    556556bail: 
    557557        if(result == noErr) 
    558                 storage->movieLoadState == kMovieLoadStateLoaded; 
     558                storage->movieLoadState = kMovieLoadStateLoaded; 
    559559        else 
    560                 storage->movieLoadState == kMovieLoadStateError; 
     560                storage->movieLoadState = kMovieLoadStateError; 
    561561                 
    562562        if (result == -1)