Как получить адрес памяти функции FileDescriptor функции mmap () в Linux для Video4Linux

Добрый день,

Я пытаюсь определить физическую область памяти буфера, выделенного видео для IO_METHOD_MMAP Linux

Просматривая функцию mmap,

    mmap(NULL /* start anywhere */,
buf.length,
PROT_READ | PROT_WRITE /* required */,
MAP_SHARED /* recommended */,
fd, //FileDescriptor
buf.m.offset);

Я вижу, что buf.m.offset равен 0, а затем увеличивает значение buf.length для каждой плоскости.

То, что я ищу, — это физический адрес в памяти для файлового дескриптора (fd), созданного устройством / dev / video0.

Это на Im6.

Цель этого состоит в том, чтобы передать этот физический адрес Gpu,

Спасибо,

1

Решение

После успешного mmap вы могли бы open (например, используя fopen), затем последовательно прочитайте (например, используя fgets) текстовый (трубообразный) /proc/self/maps файл (или также /proc/self/smaps).

Увидеть Proc (5) а также этот ответ.

2

Другие решения


По вопросам рекламы [email protected]