FFMPEG Bewegungskompensation und Suche
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?
Ich nahm H265 als ein Beispiel von hier . Es hat eine motion.c
Datei, 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.
0 Antworten auf die Frage
Verwandte Probleme
-
3
Windows Media Center (Vista): Add-On oder Software zum Schneiden von TV-Aufnahmen?
-
3
Videobearbeitung mit ATI-Karten
-
1
VirtualDub für Linux
-
2
Wie viel Datenträgerverbrauch verwenden RAW-Videos?
-
1
Java Apps im Browser blinken / reißen beim Scrollen - warum?
-
3
Wiedergabe von Video-Rips mit Windows Media Center
-
5
Wie kann ich Internetfilme (Hulu usw.) am besten auf meinem Fernseher ansehen?
-
4
Eingebettetes Flash-Video in MS Word-Dokument (2003 oder 2007)
-
10
Erzwingen Sie die native Auflösung für den Nicht-PnP-Monitor in Windows
-
4
Wie erfahre ich, warum Windows Media Center keinen Film abspielt?