Encoding speed niedrig bei H.264 (CoreAVC Cuda Accel) nach XY (Xvid, x264)

  • Code
    DirectShowSource("...\HDPlus Aufnahme.ts", audio=false, convertfps=true, fps=25.000)Crop(0,0, -Width % 8,-Height % 8)ConvertToYV12()

    GeForce 9800 GT 1024 MB 256 Bit PCIe 2.0 x16

    Decodiere ich mit CoreAVC Aufnahmen mit Cuda Accelleration ist der Encoding Speed unabhängig vom gewählen Encoder auf meinem System auf ca. 30fps limitiert. (CPU 20%)
    Schalte ich Cuda Acceleration ab, so steigt der Encoding Speed wieder auf normale Werte. (CPU 80-95%)

    Ich bin jetzt irritiert. Gibt es einen FPS-Block in CoreAVC bei Cuda beschleunigter Dekodierung, oder muss ich nach einem anderen Problem suchen? Ist gar meine Grafikkarte gar nicht in der Lage schneller (1080i TV-Stream) zu dekodieren?

    Im ersteren Fall, welcher grafikkartenbeschleunigte Directshow-Decoder hat keine Limitierung?
    (ffdshow DXVA produziert leider nur grüne Pixelsuppe)

    Grüße

    Code

    4 Mal editiert, zuletzt von -TiLT- (25. Oktober 2010 um 10:26)

  • In Ableitung von DGDecodeNV-Benchmark-Werten sollte die GT9800GT Full-HD mit ca. 60-70 fps dekodieren können.

    Vielleicht limitiert CoreAVC irgendwie auf Anzeige-Geschwindigkeit, oder sowas ... (habe/brauche/will kein CoreAVC, deswegen weiß ich's nicht genauer.)

    Irgend ein besonderer Grund (außer Faulheit:zunge:), warum es unbedingt DirectShow sein muss?

  • Meine Directshowfilter sind gut gepflegt und ich weiß sie gezielt einzusetzen. Es ist weniger Faulheit, als die Tatsache, dass es funktioniert und den Arbeitsablauf in meinem Fall optimiert.

  • Solange keine trim()'s im Script vorkommen (Werbung...), und solange der 2GB-Adressraum von Avisynth+Encoder nicht ausgereizt wird (x264: MBTree!!), und und oder, oder oder und .... also, solange es nur ganz primitive Start->End Filterketten mit wenig anspruchsvollen Encoder-Einstellungen sind, solange ist's ja in Ordnung. :)

    Wie sieht denn der Setup-Dialog vom CoreAVC DS-Filter aus? Vielleicht gibt's da ja etwas zum Einstellen .... (hab' ich aber nicht viel Hoffnung: wenn's eine per GUI zugängliche Einstellung wäre, hättest Du sie bestimmt schon gesehen.)

  • Genau, der Schnitt erfolgt vorher, ganz banales decodieren von 0 bis framecount() ^^

    Coreavc bietet tatsächlich keine configuration, außer cuda: an oder aus.

    Ich habe gerade (igittigitt) den DirectX beschleunigten DivX-Decoder getestet, und auch da ebenfalls Limitierungen.

    Scheint, als müsse ich erstmal weiter mit einer softwarebasierten Dekodierung leben.

  • Normalerweise ist es nicht Aufgabe des Decoders, sich um die Synchronität zu kümmern. Er muss nur schnell genug decodieren und Frames wie bestellt an den Renderer liefern. Mit dem Null-Renderer sind daher Decoder-Benchmarks möglich, wenn das Video immer sofort anfordert wird (per timeCodec oder GraphStudio-Benchmark möglich), wie im DiAVC-Beitrag im doom9-Forum erwähnt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!