Ich arbeite mit H.264 Decoder mit Jm Referenz-Software. Ich bin auf der Suche nach einigen Parallelisierungs-Tools für die Parallelisierung der Referenz-Code von H.264-Decoder für Multiprozessor-Mapping.Plz vorschlagen, da ich relativ neu in diesem Bereich bin.Tools zur Unterstützung der Parallelisierung von H.264?
Antwort
Es gibt keine naive Möglichkeit, dies zu lösen - geschweige denn eine allgemeine "automatische Umwandlung".
Nur ein detailliertes Verständnis wie H.264 arbeitet und sorgfältige Anwendung der richtigen Parallelisierungstechniken nach einem richtig parallized Algorithmus werden brauchbare Ergebnisse liefern.
H.264, wie die meisten Videoformate, stützt sich auf zeitlichen Rahmen Daten und effektiv berechnet nur „eine laufende Delta“, die dieses Problemsehr komplex macht. Dies ist nur ein der Techniken, die verwendet, um eine solche gute Komprimierung zu erreichen, aber die Komplexität des Formats hört nicht auf: meisten der Daten ist in irgendeiner Weise verwandt! (Je abhängiger die Daten sind, desto weniger ideal ist sie für die parallele Verarbeitung.)
Ich würde vorschlagen, nach einer (nicht referenzierten Open Source) Implementierung zu suchen, die Threads verwendet, wenn eine solche Implementierung existiert. Sehen Sie sich vielleicht den Codec an, den VLC verwendet? (Am Ende habe ich mehr Nutzen vermuten, kommt von Offloading auf spezielle Hardware-Hilfsmodule wie diejenigen, gebündelt mit modernen ATI oder NVIDIA-GPUs.)
Wenn Sie wirklich daran interessiert sind diese bei der Verfolgung, siehe ...
- EFFICIENT PARALLELIZATION OF H.264 DECODING WITH MACRO BLOCK LEVEL SCHEDULING
- Parallel Scalability of H.264
- A Highly Scalable Parallel Implementation of H.264
... und die Millionen anderer White Papers da draußen (Suche nach "parallel decode h.264").
- 1. Android H.264 BaseProfile Level-Unterstützung
- 2. H.264 Streaming Anforderungen
- 3. H.264 NALU Byteausrichtung
- 4. ffmpeg Umwandlungsbefehl zur Ausgabe an h.264 für iPad
- 5. Algorithmen zur Parallelisierung von Stoffsimulationssystem?
- 6. Umwandlung von H.264-Mediendatei in mp4
- 7. Wie AVSampleBufferDisplayLayer H.264 anzeigt
- 8. ffmpeg konvertieren von H.264 (Hoch 4: 4: 4 Profil) zu H.264 (Hauptprofil)
- 9. H.264 Video-Encoder in Javascript
- 10. Überlegungen zur Parallelisierung
- 11. Automatisches Transkodieren von H.264-Video unter Linux
- 12. Fragen über die h.264 JM ldecod
- 13. Asp.Net Web API Dokumentation Tools zur Unterstützung der Beschreibung bearbeiten
- 14. H.264-codierte NAL/Slice-Aufteilung
- 15. ffmpeg - mpeg4 (H.264) Zeitstempel und Bildqualität
- 16. streaming H.264 über RTP mit libavformat
- 17. Free/Open h.264 Videodekodierungsbibliotheken? (Nicht-GPL)
- 18. Aufzeichnung von h.264 rtsp Video-Stream in VLC
- 19. MPEG-ES H.264 Video von RTP in MPEG-TS
- 20. Einkapseln von H.264-Streams Variable Framerate im MPEG2-Transportstream
- 21. Encoding FBO Texturen zu H.264-Video direkt auf GPU
- 22. H.265/HEVC-Webbrowser-Unterstützung
- 23. Zeilen zur Unterstützung der Zellenauswahl
- 24. Klassenversionierung zur Unterstützung der Abwärtskompatibilität
- 25. Schreiben einer Videodatei mit H.264-Komprimierung in OpenCV
- 26. Wie man eine h.264-Datei als mp4 auf iOS
- 27. ffmpeg encodieren H.264 mit Intel i7 6700 Hardware-Encoder
- 28. H.264 Frames Speicher Leck mit einigen Decodern
- 29. Streaming eines h.264 codierten Videos über UDP
- 30. IP-Kamera: Open-Source-Software für die Aufnahme H.264
Ich stimme mit Ihnen über die Komplexität überein und ich habe es für eine ziemlich lange Zeit konfrontiert.Ich habe ein Call-Graph der Hauptfunktion generiert, um ein besseres Verständnis des Codes zu bekommen und eine Vorstellung von Datenfluss aber immer noch zu bekommen kommt zur Parallelisierung des Codes, Datenabhängigkeit ist zu viel, dass es die parallele Verarbeitung sehr schwierig macht. Ich werde deinen Vorschlag versuchen. Danke. –
Ich habe diese Papiere und noch ein paar mehr dazu gelesen. Es gibt mir ein theoretisches Verständnis davon, wie es gemacht wurde, aber wie man es implementiert, ist immer noch ein Zweifel. –