{5} Assigned, Active Tickets by Owner (Full Description) (18 matches)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

astrange (18 matches)

Ticket Summary Component Milestone Type Severity Created
Description
#163 QuickTime file icons for custom video formats PrefPane 1.3 enhancement minor Apr 23, 2007

Some kind of replacement icons for formats such as FLV and MKV which QuickTime doesn't have icons for?


#112 Transcode Windows "UYVY" to Mac "2vuy" Codec Requested Codecs enhancement normal Feb 22, 2007

Un-compressed analog capture on Win XP platforms is often in "UYVY". It would be nice to view/edit and encode in quicktime or other Mac apps but this is not currently supported. In reading FourCC, this appears to be a simple binary edit (i.e., change file tags to "2vuy"). I have had some success in file conversion using a hex editor. Would be nice if this simple trascode was included in Perian. Thx.


#148 Better font embedding support matroska 1.4 defect normal Apr 14, 2007

We activate fonts in-memory for the current process if they're embedded in mkv files. However, the usual method for taking screenshots is cmd-C and pasting into Preview, where the fonts haven't been loaded, so it looks different. Also, they aren't preserved across saves to .mov.

No good idea how to fix this.


#176 Support for Matroska's ordered chapters Perian-Main 1.4 enhancement normal May 2, 2007

Essentially, Matroska's version of edit lists, where the chapters define sections of the segment to play. Can reference segments in other files. Rarely used in practice, but would be nice to support.


#220 Improve subtitle sizes for non-English languages Subtitles 1.3 enhancement normal Jul 10, 2007

SRT subs are shown at 32pt at 640x480, and scale up with the diagonal of the movie from that. But if we do font substitution (if Helvetica doesn't support the sub language) the resulting font might be a different size from Helvetica and appear really small.

Not sure how to detect this – it could happen anywhere in the file, really.


#319 SSA/ASS Subtitle collision implentation deviation. Subtitles 1.3 defect normal Feb 24, 2008

I've noticed that the implementation of SSA/ASS in Perian deals with subtitle collision differently than vsfilter (and if memory serves) substation alpha. I think that this is just about the last piece of the puzzle for getting Perian to where it's a complete replacement for me for subtitle viewing applications.

I've made some sample files available at:

ftp://test:test@catbus.no-ip.org:7132/testclip-collision.rar


#363 Vorbis in mkv audio decompression 1.3 defect normal Aug 14, 2008

This movie clip has a Vorbis audio track that doesn't work correctly. When seeking or stopping/starting, the audio works for a few seconds and then dies. If this clip is remuxed in ffmpeg the audio works correctly. Most mkv's + Vorbis audio works fine, so this is a (rare) exception.

This kind of problem is usually caused by some wrong values in the sounddescription, but I've tried debugging it and all frames, pts/dts, sounddescriptions etc are equal between the original and remuxed, except for 'bits per sample' which is not set in the original. However fixing that value it doesn't fix the audio playback. The only other difference is packet sizes which are smaller (!) in the remuxed version that works.

Submitting a 400k snippet of a movie. Unfortunately the clip is silent in the beginning. Seek to 0:25 and play to hear some audio. Note that this clip exhibits the EmblVoid? that crashes Perian, so it needs to be fixed first. See #361 for fix. Also note that the audio track is turned off, so it needs turning on first!


#386 Use -willSelect in pref pane PrefPane 1.3 defect normal Oct 24, 2008

Right now we set up GUI stuff in didSelect, which causes elements to noticably update themselves after it's already displayed.


#417 Indeo 4 and 5 support Codec 1.3 enhancement normal Jun 24, 2009

Perian still does not support Indeo 4 and 5 codecs. However, until FFMpeg adds support for Indeo 4 and 6, there's not a lot that Perian can do.


#427 Fix positioning of \org Subtitles 1.4 defect normal Jul 10, 2009

The ssa tag \org disables collision detection, although it doesn't seem to be documented (in aegisub's manual, anyway). The attached file misrenders because of that.


#444 MKV+TrueAudio doesn't work matroska 1.3 defect normal Sep 13, 2009

The useless extradata (which we can't even recover properly because MKV is broken) is mandatory in the ffmpeg decoder.

Attached patch would be the right fix if it generated ff_private/create_cookie() format.


#457 VobSub text displaying all black Perian-Main 1.3 defect normal Nov 22, 2009

File attached, works in mplayer but doesn't work in Perian on x86. PPC not tested.

Also please don't read the subtitles.


#471 Perian has problems with some fxm files (either black screen or pink pixels instead of video) Perian-Main 1.3 defect normal Jan 18, 2010

This is 100% reproducible:

I am using the Mediabox.jar from http://javafx.com/samples/MediaBox/webstart/MediaBox.jar to play videos. The problems only occur when I have Perian installed (version 1.2). As soon as I deinstall Perian I can see the videos without problems.

You can reproduce the problem by following these steps: 1) Download Mediabox.jar from http://javafx.com/samples/MediaBox/webstart/MediaBox.jar to play videos 2) Open a video with MediaBox?: javafx -cp MediaBox?.jar com.sun.javafx.mediabox.Main mediaURL=http://cdn.ubivent.com/wifo/videos/becker_interview.fxm 3) Result: you only see a black screen 4) Open another video with MediaBox?: javafx -cp MediaBox?.jar com.sun.javafx.mediabox.Main mediaURL=http://cdn.ubivent.com/events/demo/new/fim2.fxm 5) Result: you only see pink pixels instead of the video 6) Deinstall Perian 7) Try steps 2 and 4 8) Works perfectly


#490 50p footage not handled correctly by perian 1.2 (1.1.4 working) Codec Needs Feedback From User defect normal Mar 25, 2010

50p HDV footage (standard quicktime codec) ist not played back correctly in quicktime and final cut pro. without perian you would need an external 50p decoder. it works fine in perian 1.1 (up to 1.14) but the picture starts to get bab in perian 1.2 and 1.2.1. in detail: the movement is not smooth, there is some kind of motion blur. here is a file for you to play around with


#492 MKV file containing MPEG2 played via Perian is very poor quality matroska Needs Feedback From User defect normal Mar 26, 2010

I have used MakeMKV for Mac to 'wrap' an MPEG2 video and AC3 audio source. The resulting file(s) play fine in VLC for Mac. The files will open fine in QuickTime but play with repeated smearing and/or macroblock problems.

This has been reproduced on a Mac mini running Mac OS X 10.5.8 and Perian 1.2, and a MacBook? Pro running Mac OS X 10.6.2 and Perian 1.2.1. Both machines also had the Apple MPEG2 QuickTime component installed.

See this thread http://forums.cocoaforge.com/viewtopic.php?f=25&t=21949 for more information and also some screencaptures illustrating the problems.


#518 Cache reference movies for idle-imported formats Perian-Main 1.3 enhancement normal Aug 24, 2010

After loading an mkv/flv/etc., the reference movie should be saved in a user cache directory, so it can be opened immediately instead of parsing the file.

Problems:

  • #148 needs to be done first (or else we still need to read mkv attachments)
  • We need to be sure the cache isn't out of date - this is problematic because hashing the original file would mean reading it. Checking the mkv uuid and file size would work for mkv, is reading the mod date good enough for anything else?

#520 Perian doesn't support TrueHD Codec 1.3 enhancement normal Aug 30, 2010

Sample mkv files can be found at http://samples.mplayerhq.hu/A-codecs/TrueHD/ Perian imports them incorrectly as MPEG2 audio and there is no sound when playing back the mkv in QuickTime.

The following small patch fixes this problem. Note: the format enums match the fourcc's used by VLC.


svn diff --diff-cmd diff -x -uwbBE /Perian-1.2.1

Index: /Perian-1.2.1/ff_private.c =================================================================== --- /Perian-1.2.1/ff_private.c (revision 1297) +++ /Perian-1.2.1/ff_private.c (working copy) @@ -416,6 +416,12 @@

case CODEC_ID_NELLYMOSER:

asbd->mFormatID = kAudioFormatNellymoser; break;

+ case CODEC_ID_MLP: + asbd->mFormatID = kAudioFormatMLP; + break; + case CODEC_ID_TRUEHD: + asbd->mFormatID = kAudioFormatTrueHD; + break;

default:

break;

}

Index: /Perian-1.2.1/MatroskaImportPrivate.cpp =================================================================== --- /Perian-1.2.1/MatroskaImportPrivate.cpp (revision 1297) +++ /Perian-1.2.1/MatroskaImportPrivate.cpp (working copy) @@ -468,6 +468,9 @@

return invalidTrack;

}

+ mkvTrack.movieTimeScale = GetMovieTimeScale?(theMovie); + mkvTrack.mediaTimeScale = mkvTrack.movieTimeScale; +

mkvTrack.theTrack = NewMovieTrack?(theMovie, width, height, kNoVolume); if (mkvTrack.theTrack == NULL)

return GetMoviesError?();

@@ -516,11 +519,14 @@

Handle cookieH = NULL; Ptr cookie = NULL;

+ mkvTrack.movieTimeScale = GetMovieTimeScale?(theMovie); + mkvTrack.mediaTimeScale = lround((double) GetChild?<KaxAudioSamplingFreq?>(GetChild?<KaxTrackAudio?>(kaxTrack))); +

mkvTrack.theTrack = NewMovieTrack?(theMovie, 0, 0, kFullVolume); if (mkvTrack.theTrack == NULL)

return GetMoviesError?();

+ mkvTrack.theMedia = NewTrackMedia?(mkvTrack.theTrack, 'soun', mkvTrack.mediaTimeScale, dataRef, dataRefType);

if (mkvTrack.theMedia == NULL) {

DisposeMovieTrack?(mkvTrack.theTrack); return GetMoviesError?();

@@ -568,7 +574,7 @@

mkvTrack.desc = (SampleDescriptionHandle?) sndDesc;

  • err = QTSampleTableCreateMutable(NULL, GetMovieTimeScale?(theMovie), NULL, &mkvTrack.sampleTable);

+ err = QTSampleTableCreateMutable(NULL, mkvTrack.mediaTimeScale, NULL, &mkvTrack.sampleTable);

if (err) return err;

err = QTSampleTableAddSampleDescription(mkvTrack.sampleTable, mkvTrack.desc, 0, &mkvTrack.qtSampleDesc);

@@ -985,6 +991,11 @@

defaultDuration = 0; usesLacing = true; currentFrame = 0;

+ + movieTimeScale = 1000; + mediaTimeScale = 1000; + sampleTimeMovie = 0; + sampleTimeMedia = 0;

}

MatroskaTrack::MatroskaTrack?(const MatroskaTrack? &copy)

@@ -1028,6 +1039,11 @@

defaultDuration = copy.defaultDuration; usesLacing = copy.usesLacing; currentFrame = copy.currentFrame;

+ + movieTimeScale = copy.movieTimeScale; + mediaTimeScale = copy.mediaTimeScale; + sampleTimeMovie = copy.sampleTimeMovie; + sampleTimeMedia = copy.sampleTimeMedia;

}

MatroskaTrack::~MatroskaTrack?()

@@ -1184,15 +1200,25 @@

frame.duration = end - start;

} else return;

} else if (sampleTable) {

+ SInt64 nextTimeMedia = (sampleTimeMovie + frame.duration) * (SInt64) mediaTimeScale / (SInt64) movieTimeScale; + SInt64 frameDurationMedia = nextTimeMedia - sampleTimeMedia; + SInt64 displayOffsetMedia = displayOffset * (SInt64) mediaTimeScale / (SInt64) movieTimeScale; + + if (frameDurationMedia <= 0) + frameDurationMedia = 1; +

SInt64 sampleNum;

  • err = QTSampleTableAddSampleReferences(sampleTable, frame.offset, frame.size, frame.duration,
  • displayOffset, 1, frame.flags, qtSampleDesc, &sampleNum);

+ err = QTSampleTableAddSampleReferences(sampleTable, frame.offset, frame.size, frameDurationMedia, + displayOffsetMedia, 1, frame.flags, qtSampleDesc, &sampleNum);

if (err) {

Codecprintf(NULL, "MKV: error adding sample reference to table %d\n", err); return;

}

+ sampleTimeMovie += frame.duration; + sampleTimeMedia += frameDurationMedia; +

if (firstSample == -1)

firstSample = sampleNum;

numSamples++;

@@ -1239,6 +1265,15 @@

nothing to add return;

+ SInt64 maxLoadedTimeMedia = maxLoadedTime; + SInt64 durationToAddMedia = durationToAdd; + + if (sampleTable) + { + maxLoadedTimeMedia = GetMediaDuration?(theMedia); + durationToAddMedia = sampleTimeMedia - maxLoadedTimeMedia; + } +

if (sampleTable) {

if (firstSample == -1)

return; nothing to add

@@ -1253,7 +1288,7 @@

}

}

+ err = InsertMediaIntoTrack?(theTrack, -1, maxLoadedTimeMedia, durationToAddMedia, fixed1);

if (err)

Codecprintf(NULL, "MKV: error inserting media into track %d\n", err);

Index: /Perian-1.2.1/codecList.m4 =================================================================== --- /Perian-1.2.1/codecList.m4 (revision 1297) +++ /Perian-1.2.1/codecList.m4 (working copy) @@ -60,3 +60,5 @@

Codec(kTrueAudioCodecResourceID, CODEC_ID_TTA, "True Audio", "An AudioCodec? that decodes True Audio into linear PCM", kAudioFormatTTA) Codec(kDTSCodecResourceID, CODEC_ID_DTS, "DTS Coherent Acoustics", "An AudioCodec? that decodes DCA Audio into linear PCM", kAudioFormatDTS) Codec(kNellymoserCodecResourceID, CODEC_ID_NELLYMOSER, "Nellymoser ASAO", "An AudioCodec? that decodes Nellymoser ASAO into linear PCM", kAudioFormatNellymoser)

\ No newline at end of file +Codec(kMLPCodecResourceID, CODEC_ID_MLP, "MLP", "An AudioCodec? that decodes MLP into linear PCM", kAudioFormatMLP) +Codec(kTrueHDCodecResourceID, CODEC_ID_TRUEHD, "TrueHD", "An AudioCodec? that decodes TrueHD into linear PCM", kAudioFormatTrueHD) Index: /Perian-1.2.1/MatroskaCodecIDs.cpp =================================================================== --- /Perian-1.2.1/MatroskaCodecIDs.cpp (revision 1297) +++ /Perian-1.2.1/MatroskaCodecIDs.cpp (working copy) @@ -847,6 +847,9 @@

{ kAudioFormatRealLossless, "A_REAL/RALF" }, { kAudioFormatRealAtrac3, "A_REAL/ATRC" },

+ { kAudioFormatMLP, "A_MLP" }, + { kAudioFormatTrueHD, "A_TRUEHD" }, +

#if 0

{ kBMPCodecType, "S_IMAGE/BMP" },

Index: /Perian-1.2.1/ff_MovieImport.c =================================================================== --- /Perian-1.2.1/ff_MovieImport.c (revision 1297) +++ /Perian-1.2.1/ff_MovieImport.c (working copy) @@ -150,6 +150,10 @@

REGISTER_DECODER(dca); REGISTER_DECODER(nellymoser);

+ REGISTER_DECODER(mlp); + REGISTER_DECODER(truehd); + REGISTER_PARSER(mlp); +

REGISTER_DECODER(dvdsub); REGISTER_DECODER(tscc); REGISTER_DECODER(vp6a);

Index: /Perian-1.2.1/MatroskaImport.h =================================================================== --- /Perian-1.2.1/MatroskaImport.h (revision 1297) +++ /Perian-1.2.1/MatroskaImport.h (working copy) @@ -121,6 +121,15 @@

for pts -> dts conversion (and laced tracks can't have non-keyframes anyways) bool usesLacing;

+ The duration of MLP/TrueHD frames is less than 1 millisecond which is less than what the + default MKV timescale can accurately represent. The audio media timescale is therefore set to + the sample rate rather than the default MKV timescale. + + TimeScale? movieTimeScale; + TimeScale? mediaTimeScale; + TimeValue64 sampleTimeMovie; + TimeValue64 sampleTimeMedia; +

private:

adds an individual frame from a block group into the sample table if it exists, the media otherwise, and into the track if the track is a subtitle track.

Index: /Perian-1.2.1/CodecIDs.h =================================================================== --- /Perian-1.2.1/CodecIDs.h (revision 1297) +++ /Perian-1.2.1/CodecIDs.h (working copy) @@ -96,6 +96,9 @@

kAudioFormatRealAtrac3 = 'ATRC', kAudioFormatNellymoser = 'NELL',

+ kAudioFormatMLP = 'mlp ', + kAudioFormatTrueHD = 'trhd', +

kSubFormatUTF8 = 'SRT ', kSubFormatSSA = 'SSA ', kSubFormatASS = 'ASS ',

Index: /Perian-1.2.1/FFissionCodec/FFissionDecoder.cpp =================================================================== --- /Perian-1.2.1/FFissionCodec/FFissionDecoder.cpp (revision 1297) +++ /Perian-1.2.1/FFissionCodec/FFissionDecoder.cpp (working copy) @@ -53,6 +53,8 @@

{ kAudioFormatDTS, CODEC_ID_DTS }, { kAudioFormatNellymoser, CODEC_ID_NELLYMOSER }, { kAudioFormatTTA, CODEC_ID_TTA},

+ { kAudioFormatMLP, CODEC_ID_MLP }, + { kAudioFormatTrueHD, CODEC_ID_TRUEHD },

{ 0, CODEC_ID_NONE }

};

@@ -125,7 +127,7 @@

else

dtsPassthrough = 0;

  • int initialMap[6] = {0, 1, 2, 3, 4, 5};

+ int initialMap[8] = {0, 1, 2, 3, 4, 5, 6, 7};

memcpy(fullChannelMap, initialMap, sizeof(initialMap));

avcodec_get_context_defaults2(avContext, CODEC_TYPE_AUDIO);

@@ -641,6 +643,17 @@

pkt.data = packet; pkt.size = packetSize; len = avcodec_decode_audio3(avContext, (int16_t *)outputBuffer, &outBufUsed, &pkt);

+ if (len >= 0 && outBufUsed > 0 && avContext->sample_fmt == SAMPLE_FMT_S32) + { + codec returned int32_t instead of int16_t + + int32_t *src = (int32_t *) outputBuffer; + int16_t *dst = (int16_t *) outputBuffer; + int numSamples = outBufUsed / 4; + for (int i = 0; i < numSamples; i++) + *dst++ = *src++ >> 16; + outBufUsed /= 2; + }

}

if (len < 0) {

Index: /Perian-1.2.1/FFissionCodec/FFissionDecoder.h =================================================================== --- /Perian-1.2.1/FFissionCodec/FFissionDecoder.h (revision 1297) +++ /Perian-1.2.1/FFissionCodec/FFissionDecoder.h (working copy) @@ -61,7 +61,7 @@

int outBufSize; int outBufUsed; bool dtsPassthrough;

  • int fullChannelMap[6];

+ int fullChannelMap[8];

AVCodecParserContext *parser;

};


#560 negative ctts in MKV matroska 1.3 enhancement normal Apr 8, 2011

higurashi5-10mb.mkv has negative ctts entries. This should be impossible since pts > dts and it's illegal in .mp4. Not that it seems to be affecting playback.


Note: See TracReports for help on using and creating reports.