2012-11-23 13 views
5

Ho scritto this gist per convertire i dati gif scaricati dallo this incredible site e trasformarlo in un mp4 riproducibile con MPMoviePlayerController.Le gioie della decodifica gif in tempo reale

Il problema è che devo scaricare l'intera gif e quindi avviare la conversione. Vorrei convertire i dati mentre ricevo e credo, ma non posso confermarlo, potrebbe essere possibile con CGImageSourceCreateIncremental passando i dati restituiti da - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data.

Qualcuno ha tentato di farlo o conosce un esempio?

+0

+1. Sei perfetto. – CodaFi

+0

Oh amico mio, non ci sono gioie ... – MCKapur

+0

@RohanKapur qualche attitudine ... –

risposta

1

So che incrementale funziona per jpeg e pngs. La codifica è leggermente complessa ma dovresti riuscire a trovare un codice di esempio qui o sul sito di Apple. Non c'è modo di sapere cosa farà con le gif animate. Se non fa ciò di cui hai bisogno, puoi sicuramente trovare una libreria libgif open source, che ovviamente dovrai portare su iOS. Ho usato libjpeg turbo in un progetto per ottenere la decodifica incrementale per i JPEG.

L'unico problema con il metodo Quartz a cui si fa riferimento è sempre la decodifica in modo incrementale dall'inizio dell'immagine. Quindi, se si dispone di un'immagine veramente grande come ho fatto io, poiché la dimensione del download aumenta più a lungo di ciascuna richiesta di un'immagine incrementale. In realtà ho bruciato un incidente DTS su questo - l'ingegnere Apple ha concordato che sarebbe bello se memorizzassero nella cache l'immagine intermedia in modo tale che ogni richiesta si sarebbe costruita sull'ultima immagine, ma non ora.