FFMPEG Bewegungskompensation und Suche

621
Tina J

Ich versuche, den Bewegungserkennungsteil von FFMPEG zu ändern. Was ich tun möchte, ist, den Suchraum zu erweitern, sodass ich immer dann, wenn der Makroblock die rechte Kante des Frames trifft, den Block immer nach links bewegen muss, als ob er verbunden wäre (in meinen Beispielvideos die rechte Kante) ist eigentlich eine Fortsetzung des linken Randes). Kann mir jemand helfen zu zeigen, wo genau ich ihn innerhalb von FFMPEG-Quellcode oder x265 oder x264 ändern kann?

FFMPEG Bewegungskompensation und Suche

Ich nahm H265 als ein Beispiel von hier . Es hat eine motion.cDatei, die die möglichen Blockgrößen genau angibt, wie unten gezeigt, aber ich kann die spezifische Schleife nicht finden, die den Frame durchquert. Hilfe wird sehr geschätzt.

#define SETUP_SCALE(W, H) \ sizeScale[LUMA_ ## W ## x ## H] = (H * H) >> 4; SETUP_SCALE(4, 4); SETUP_SCALE(8, 8); SETUP_SCALE(8, 4); SETUP_SCALE(4, 8); SETUP_SCALE(16, 16); SETUP_SCALE(16, 8); SETUP_SCALE(8, 16); SETUP_SCALE(16, 12); SETUP_SCALE(12, 16); SETUP_SCALE(4, 16); SETUP_SCALE(16, 4); SETUP_SCALE(32, 32); SETUP_SCALE(32, 16); SETUP_SCALE(16, 32); SETUP_SCALE(32, 24); SETUP_SCALE(24, 32); SETUP_SCALE(32, 8); SETUP_SCALE(8, 32); SETUP_SCALE(64, 64); SETUP_SCALE(64, 32); SETUP_SCALE(32, 64); SETUP_SCALE(64, 48); SETUP_SCALE(48, 64); SETUP_SCALE(64, 16); SETUP_SCALE(16, 64); #undef SETUP_SCALE 

Ein grundlegender Pseudo-Code sollte folgendermaßen aussehen:

block.rightX ==block.width; // a block initiates from left part of the frame while(block.leftX <=frame.width) //until it hits the right most edge (assuming it moves from left to right for search) for (int i=0;i<block.width();i++) for(int j=0;j< i<block.height();j++) block[i][j] = frame_pixel [(block.leftX+i) % frame.width] [block.leftY+j] //if the block's width passes frame's width, we just take the mod. 
2
Ich denke, Ihr Punkt bezieht sich nur auf den Codec (x264 oder x265) und nicht auf ffmpeg. Möglicherweise möchten Sie Ihre Fragen ein wenig bearbeiten. Anderer Hinweis Falls keine kalte Antwort vorliegt, können Sie eine E-Mail an die x265-Entwickler über ihre Mailing-Liste senden. Viel Glück mit dem Projekt! RawBean vor 8 Jahren 1
Wie können wir ihn anpingen? @LordNeckbeard Kannst du mir gefallen? Es muss nicht auf H265 sein, aber das Targeting auf die neueste Version ist immer das Beste! Tina J vor 8 Jahren 0
oh, bekam seine E-Mail ... Tina J vor 8 Jahren 0
Sorry, aber ich habe keine Antwort auf diese Frage. Vielleicht gibt es eine x265-Benutzerhilfe-Mailingliste. Nur um das nächste Mal zu wissen, [Crossposting der gleichen Frage] (http://stackoverflow.com/questions/37849595/ffmpeg-motion-compensation-and-search) und [doppelte Fragen] (http: // stackoverflow). com / questions / 37870564 / libx265-Bewegungskompensation-und-Cu-Travers) wird auf Stack Exchange-Standorten nicht empfohlen. LordNeckbeard vor 8 Jahren 1
Ja. Ich habe verstanden Ich bat meine Gruppenmitglieder, dieselbe Frage für mehr Sichtbarkeit zu stellen. Tina J vor 8 Jahren 0

0 Antworten auf die Frage