Kompensasi dan pencarian gerak FFMPEG


3

Saya mencoba untuk memodifikasi bagian deteksi gerak FFMPEG. Yang ingin saya lakukan adalah memperluas ruang pencarian, sehingga setiap kali makroblok menyentuh tepi paling kanan bingkai, saya perlu tetap memindahkan blok ke arah paling kiri seolah-olah mereka terhubung (dalam contoh video saya, tepi kanan sebenarnya merupakan kelanjutan dari tepi kiri). Dapatkah seseorang membantu saya menunjukkan di mana tepatnya saya dapat memodifikasinya dalam kode sumber FFMPEG atau x265, atau x264?

masukkan deskripsi gambar di sini

Saya mengambil H265 sebagai contoh dari sini . Ini memiliki motion.cfile yang dengan baik menentukan ukuran blok yang mungkin seperti yang ditunjukkan di bawah ini, tetapi saya tidak dapat menemukan loop spesifik yang melintasi bingkai. Bantuan sangat dihargai.

#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

Kode pseudo dasar harus seperti ini:

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.

1
Saya pikir poin Anda hanya terkait dengan codec (x264 atau x265), dan tidak terkait dengan ffmpeg. Anda mungkin ingin sedikit mengedit pertanyaan Anda. Petunjuk lain jika tidak ada jawaban yang dingin, Anda dapat mengirim email ke pengembang x265 melalui milis mereka. Semoga berhasil dengan proyek!
RawBean

Bagaimana kita bisa melakukan ping padanya? @ LordNeckbeard Bisakah kau menyenangkanku? Tidak harus menggunakan H265, tetapi menargetkan versi terbaru selalu yang terbaik!
Tina J

oh, dapatkan emailnya ...
Tina J

1
Maaf, tapi saya tidak punya jawaban untuk pertanyaan ini. Mungkin ada milis bantuan pengguna x265. Supaya Anda tahu untuk waktu berikutnya, melakukan crossposting pertanyaan yang sama dan membuat pertanyaan duplikat tidak disarankan di situs Stack Exchange.
Logan

Ya. Saya mengerti. Saya meminta teman grup saya untuk menanyakan pertanyaan yang sama agar lebih terlihat.
Tina J
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.