Changeset 1087
- Timestamp:
- 06/28/09 16:35:38 (9 months ago)
- Files:
-
- branches/perian-1.1 (modified) (1 prop)
- branches/perian-1.1/CPFPerianPrefPaneController.m (modified) (1 diff)
- branches/perian-1.1/CommonUtils.c (modified) (1 diff)
- branches/perian-1.1/FFusionCodec.c (modified) (2 diffs)
- branches/perian-1.1/FrameBuffer.h (modified) (1 diff)
- branches/perian-1.1/Perian.xcodeproj/project.pbxproj (modified) (24 diffs)
- branches/perian-1.1/Subtitles/SubATSUIRenderer.m (modified) (5 diffs)
- branches/perian-1.1/Subtitles/SubContext.m (modified) (2 diffs)
- branches/perian-1.1/Subtitles/SubImport.h (modified) (1 diff)
- branches/perian-1.1/Subtitles/SubImport.mm (modified) (2 diffs)
- branches/perian-1.1/TextSubCodec.c (modified) (2 diffs)
- branches/perian-1.1/VobSubCodec.c (modified) (2 diffs)
- branches/perian-1.1/bitstream_info.c (modified) (5 diffs)
- branches/perian-1.1/bitstream_info.h (modified) (1 diff)
- branches/perian-1.1/ff_MovieImport.c (modified) (1 diff)
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 459 459 } 460 460 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 461 469 #pragma mark Install/Uninstall 462 470 branches/perian-1.1/CommonUtils.c
r1081 r1087 407 407 int err = Gestalt(gestaltPowerPCProcessorFeatures, &response); 408 408 409 altivec = !err && ((response & gestaltPowerPCHasVectorInstructions) != 0);409 altivec = !err && ((response & (1 << gestaltPowerPCHasVectorInstructions)) != 0); 410 410 } 411 411 branches/perian-1.1/FFusionCodec.c
r1081 r1087 32 32 #include <QuickTime/QuickTime.h> 33 33 #include <Accelerate/Accelerate.h> 34 #include <sys/sysctl.h> 34 35 35 36 #include "FFusionCodec.h" … … 414 415 if (glob->begin.parser) 415 416 { 416 f reeFFusionParser(glob->begin.parser);417 ffusionParserFree(glob->begin.parser); 417 418 } 418 419 branches/perian-1.1/FrameBuffer.h
r1081 r1087 103 103 void FFusionDataSetUnparsed(FFusionData *data, uint8_t *buffer, int bufferSize); 104 104 105 void FFusionDataReadUnparsed(FFusionData *data); 105 106 106 107 /*! branches/perian-1.1/Perian.xcodeproj/project.pbxproj
r1083 r1087 2041 2041 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 2042 2042 GCC_VERSION = 4.0; 2043 "GCC_VERSION[arch=*]" = ""; 2044 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2043 2045 GCC_WARN_ABOUT_RETURN_TYPE = YES; 2044 2046 GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 2047 GCC_WARN_UNUSED_VALUE = YES; 2045 2048 GCC_WARN_UNUSED_VARIABLE = YES; 2046 2049 INFOPLIST_FILE = "Plists/Perian-Info.plist"; … … 2056 2059 ); 2057 2060 OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 2058 PREBINDING = NO;2059 2061 PRODUCT_NAME = Perian; 2060 2062 REZ_PREPROCESSOR_DEFINITIONS = ""; 2063 WARNING_CFLAGS = "-Wimplicit"; 2061 2064 WRAPPER_EXTENSION = component; 2062 2065 }; … … 2076 2079 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h"; 2077 2080 GCC_VERSION = 4.0; 2081 "GCC_VERSION[arch=*]" = ""; 2082 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2078 2083 GCC_WARN_ABOUT_RETURN_TYPE = YES; 2079 2084 GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 2080 2085 GCC_WARN_UNINITIALIZED_AUTOS = YES; 2086 GCC_WARN_UNUSED_VALUE = YES; 2081 2087 GCC_WARN_UNUSED_VARIABLE = YES; 2082 2088 INFOPLIST_FILE = "Plists/Perian-Info.plist"; … … 2089 2095 OTHER_CFLAGS_ppc = "$(OTHER_CFLAGS)"; 2090 2096 OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 2091 PREBINDING = NO;2092 2097 PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; 2093 2098 PRODUCT_NAME = Perian; 2099 WARNING_CFLAGS = "-Wimplicit"; 2094 2100 WRAPPER_EXTENSION = component; 2095 2101 }; … … 2217 2223 GCC_STRICT_ALIASING = YES; 2218 2224 GCC_VERSION = 4.0; 2225 "GCC_VERSION[arch=*]" = ""; 2226 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2219 2227 GCC_WARN_ABOUT_RETURN_TYPE = YES; 2220 2228 GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; 2221 2229 GCC_WARN_UNINITIALIZED_AUTOS = YES; 2230 GCC_WARN_UNUSED_VALUE = YES; 2222 2231 GCC_WARN_UNUSED_VARIABLE = YES; 2223 2232 INFOPLIST_FILE = "Plists/Perian-Info.plist"; … … 2234 2243 ); 2235 2244 OTHER_REZFLAGS = "-rd -d ppc_$(ppc) -d i386_$(i386) -d TARGET_REZ_CARBON_MACHO=1"; 2236 PREBINDING = NO;2237 2245 PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; 2238 2246 PRODUCT_NAME = Perian; 2247 WARNING_CFLAGS = "-Wimplicit"; 2239 2248 WRAPPER_EXTENSION = component; 2240 2249 }; … … 2301 2310 isa = XCBuildConfiguration; 2302 2311 buildSettings = { 2303 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 2312 ARCHS = ( 2313 x86_64, 2314 ppc, 2315 i386, 2316 ); 2304 2317 COPY_PHASE_STRIP = YES; 2305 2318 GCC_DYNAMIC_NO_PIC = NO; 2319 GCC_ENABLE_OBJC_GC = supported; 2306 2320 GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 2307 2321 GCC_MODEL_TUNING = G5; … … 2309 2323 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 2310 2324 GCC_VERSION = 4.0; 2325 "GCC_VERSION[arch=*]" = ""; 2326 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2311 2327 INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 2312 2328 INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; … … 2322 2338 PREBINDING = NO; 2323 2339 PRODUCT_NAME = Perian; 2340 SDKROOT = macosx10.4; 2324 2341 "SDKROOT[arch=*]" = macosx10.4; 2325 "SDKROOT[arch=ppc64]" = macosx10.5;2326 2342 "SDKROOT[arch=x86_64]" = macosx10.5; 2327 2343 WRAPPER_EXTENSION = prefPane; … … 2391 2407 PREBINDING = NO; 2392 2408 PRODUCT_NAME = ssa2html; 2409 SDKROOT = ""; 2393 2410 }; 2394 2411 name = Development; … … 2399 2416 ALWAYS_SEARCH_USER_PATHS = NO; 2400 2417 COPY_PHASE_STRIP = YES; 2401 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";2402 2418 GCC_MODEL_TUNING = G5; 2403 2419 INSTALL_PATH = /usr/local/bin; 2404 2420 PREBINDING = NO; 2405 2421 PRODUCT_NAME = ssa2html; 2422 SDKROOT = ""; 2406 2423 }; 2407 2424 name = Deployment; … … 2414 2431 INSTALL_PATH = /usr/local/bin; 2415 2432 PRODUCT_NAME = ssa2html; 2433 SDKROOT = ""; 2416 2434 }; 2417 2435 name = "Deployment+Debug"; … … 2428 2446 INSTALL_PATH = /usr/local/bin; 2429 2447 PRODUCT_NAME = "detect-encoding"; 2448 SDKROOT = ""; 2430 2449 }; 2431 2450 name = Development; … … 2436 2455 ALWAYS_SEARCH_USER_PATHS = NO; 2437 2456 COPY_PHASE_STRIP = YES; 2438 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";2439 2457 GCC_MODEL_TUNING = G5; 2440 2458 GCC_PRECOMPILE_PREFIX_HEADER = YES; … … 2442 2460 INSTALL_PATH = /usr/local/bin; 2443 2461 PRODUCT_NAME = "detect-encoding"; 2462 SDKROOT = ""; 2444 2463 }; 2445 2464 name = Deployment; … … 2454 2473 INSTALL_PATH = /usr/local/bin; 2455 2474 PRODUCT_NAME = "detect-encoding"; 2475 SDKROOT = ""; 2456 2476 }; 2457 2477 name = "Deployment+Debug"; … … 2523 2543 isa = XCBuildConfiguration; 2524 2544 buildSettings = { 2545 ARCHS = ( 2546 x86_64, 2547 ppc, 2548 i386, 2549 ); 2525 2550 COPY_PHASE_STRIP = NO; 2526 2551 GCC_DYNAMIC_NO_PIC = NO; 2552 GCC_ENABLE_OBJC_GC = supported; 2527 2553 GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 2528 2554 GCC_MODEL_TUNING = G5; … … 2531 2557 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 2532 2558 GCC_VERSION = 4.0; 2559 "GCC_VERSION[arch=*]" = ""; 2560 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2533 2561 GCC_WARN_ABOUT_RETURN_TYPE = YES; 2534 2562 GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; … … 2536 2564 GCC_WARN_SIGN_COMPARE = YES; 2537 2565 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; 2542 2567 GCC_WARN_UNUSED_VARIABLE = YES; 2543 2568 INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; … … 2546 2571 INFOPLIST_PREPROCESS = YES; 2547 2572 INSTALL_PATH = "$(HOME)/Library/Bundles"; 2573 ONLY_ACTIVE_ARCH = YES; 2548 2574 OTHER_LDFLAGS = ( 2549 2575 "-framework", … … 2554 2580 PREBINDING = NO; 2555 2581 PRODUCT_NAME = Perian; 2582 SDKROOT = macosx10.4; 2583 "SDKROOT[arch=*]" = macosx10.4; 2584 "SDKROOT[arch=x86_64]" = macosx10.5; 2556 2585 WRAPPER_EXTENSION = prefPane; 2557 2586 }; … … 2561 2590 isa = XCBuildConfiguration; 2562 2591 buildSettings = { 2563 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 2592 ARCHS = ( 2593 x86_64, 2594 ppc, 2595 i386, 2596 ); 2564 2597 COPY_PHASE_STRIP = YES; 2565 2598 GCC_DYNAMIC_NO_PIC = NO; 2599 GCC_ENABLE_OBJC_GC = supported; 2566 2600 GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 2567 2601 GCC_MODEL_TUNING = G5; … … 2569 2603 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 2570 2604 GCC_VERSION = 4.0; 2605 "GCC_VERSION[arch=*]" = ""; 2606 "GCC_VERSION[sdk=macosx10.4][arch=*]" = 4.0; 2571 2607 INFOPLIST_FILE = "Plists/PerianPaneReal-Info.plist"; 2572 2608 INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-C"; … … 2584 2620 SDKROOT = macosx10.4; 2585 2621 "SDKROOT[arch=*]" = macosx10.4; 2586 "SDKROOT[arch=ppc64]" = macosx10.5;2587 2622 "SDKROOT[arch=x86_64]" = macosx10.5; 2588 2623 WRAPPER_EXTENSION = prefPane; branches/perian-1.1/Subtitles/SubATSUIRenderer.m
r1081 r1087 253 253 254 254 UCCreateTextBreakLocator(NULL, 0, kUCTextBreakLineMask, &breakLocator); 255 [[SubContext alloc] initWithNonSSAType:kSubTypeSRT delegate:self];255 context = [[SubContext alloc] initWithNonSSAType:kSubTypeSRT delegate:self]; 256 256 } 257 257 … … 277 277 278 278 UCCreateTextBreakLocator(NULL, 0, kUCTextBreakLineMask, &breakLocator); 279 [[SubContext alloc] initWithHeaders:headers styles:styles delegate:self];279 context = [[SubContext alloc] initWithHeaders:headers styles:styles delegate:self]; 280 280 } 281 281 … … 303 303 -(void)completedHeaderParsing:(SubContext*)sc 304 304 { 305 context = sc; 306 screenScaleX = videoWidth / context->resX; 307 screenScaleY = videoHeight / context->resY; 305 screenScaleX = videoWidth / sc->resX; 306 screenScaleY = videoHeight / sc->resY; 308 307 } 309 308 … … 1186 1185 void SubPrerollFromHeader(char *header, int headerLen) 1187 1186 { 1188 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];1189 1187 SubtitleRendererPtr s = headerLen ? SubInitForSSA(header, headerLen, 640, 480) 1190 1188 : SubInitNonSSA(640, 480); … … 1213 1211 1214 1212 SubDisposeRenderer(s); 1215 [pool release];1216 1213 } 1217 1214 branches/perian-1.1/Subtitles/SubContext.m
r1081 r1087 268 268 269 269 } 270 270 271 271 return self; 272 272 } … … 285 285 defaultStyle = [[SubStyle defaultStyleWithDelegate:delegate] retain]; 286 286 } 287 287 288 288 return self; 289 289 } branches/perian-1.1/Subtitles/SubImport.h
r1081 r1087 110 110 { 111 111 __strong void *priv; 112 int retainCount; 112 113 113 114 public: branches/perian-1.1/Subtitles/SubImport.mm
r1081 r1087 1433 1433 priv = [[SubSerializer alloc] init]; 1434 1434 CFRetain(priv); 1435 retainCount = 1; 1435 1436 } 1436 1437 … … 1472 1473 1473 1474 void 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; 1480 1480 } 1481 1481 1482 1482 void CXXSubSerializer::retain() 1483 1483 { 1484 [(SubSerializer*)priv retain];1484 retainCount++; 1485 1485 } 1486 1486 branches/perian-1.1/TextSubCodec.c
r1081 r1087 117 117 glob->ssa = NULL; 118 118 glob->colorSpace = NULL; 119 glob->translateSRT = true; 119 120 120 121 // Open and target an instance of the base decompressor as we delegate … … 248 249 249 250 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; 255 252 256 253 if (!glob->ssa) { branches/perian-1.1/VobSubCodec.c
r1081 r1087 24 24 #include "VobSubCodec.h" 25 25 #include "Codecprintf.h" 26 #include "CommonUtils.h" 26 27 #include <zlib.h> 27 28 #include "avcodec.h" … … 85 86 static ComponentResult ReadPacketControls(UInt8 *packet, UInt32 palette[16], PacketControlData *controlDataOut); 86 87 extern void initLib(); 88 extern void init_FFmpeg(); 87 89 88 90 ComponentResult VobSubCodecOpen(VobSubCodecGlobals glob, ComponentInstance self) branches/perian-1.1/bitstream_info.c
r1081 r1087 36 36 #include "parser.h" 37 37 #include "golomb.h" 38 #include "mpeg4video_parser.h" 39 #include "Codecprintf.h" 38 40 39 41 #include "CodecIDs.h" … … 868 870 } 869 871 870 void freeFFusionParser(FFusionParserContext *parser) 871 { 872 void ffusionParserFree(FFusionParserContext *parser) 873 { 874 AVCodecParser *avparse = parser->parserStructure->avparse; 875 872 876 if(parser->pc) 873 877 { 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); 876 881 av_free(parser->pc); 877 882 } 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); 882 885 free(parser); 883 886 } … … 888 891 AVCodecParser *parser; 889 892 FFusionParser *ffParser; 890 int ret; 891 struct AVCodecContext *ctx = avcodec_alloc_context(); 893 int ret, i; 892 894 893 895 if(codec_id == CODEC_ID_NONE) … … 898 900 for(ffParser = ffusionFirstParser; ffParser != NULL; ffParser = ffParser->next) { 899 901 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; 906 906 } 907 907 return NULL; … … 928 928 929 929 FFusionParserContext *parserContext = malloc(sizeof(FFusionParserContext)); 930 parserContext->avctx = ctx;930 parserContext->avctx = avcodec_alloc_context(); 931 931 parserContext->pc = s; 932 932 parserContext->parserStructure = ffParser; branches/perian-1.1/bitstream_info.h
r1081 r1087 59 59 void initFFusionParsers(); 60 60 FFusionParserContext *ffusionParserInit(int codec_id); 61 void ffusionParserFree(FFusionParserContext *parser); 61 62 int ffusionParseExtraData(FFusionParserContext *parser, const uint8_t *buf, int buf_size); 62 63 int 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 556 556 bail: 557 557 if(result == noErr) 558 storage->movieLoadState = =kMovieLoadStateLoaded;558 storage->movieLoadState = kMovieLoadStateLoaded; 559 559 else 560 storage->movieLoadState = =kMovieLoadStateError;560 storage->movieLoadState = kMovieLoadStateError; 561 561 562 562 if (result == -1)
