Извлечение информации о макроблоке в FFmpeg - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть файл .mp4, который содержит видео h.264 и аудио AAC.Я хочу извлечь информацию о макроблоке и векторе движения для каждого кадра при декодировании.Пожалуйста, найдите мой псевдокод ниже.

avformat_open_input(file_name) //opening file 
avcodec_open2(pCodecContext, pCodec, NULL) // opening decoder
while (response >= 0) // reading each frame
    {
        response = avcodec_receive_frame(pCodecContext, pFrame);
        if (response == AVERROR(EAGAIN) || response == AVERROR_EOF || response < 0) {
            break;
        }
        // extract macroblock of pFrame here
        av_frame_unref(pFrame);
    }

Я видел в другом посте упомянутое, что мы можем получить информацию о MB через структуру MpegEncContext, но я запутался, и как создать экземпляр объекта этой структуры, как MBданные структуры обновляются для каждого кадра .?1004

В конечном счете, я хочу сравнить макроблок из одного кадра с другим кадром, используя SAD (сумма абсолютной разности), и инициировать оповещения, если есть какие-либо искажения на уровне макроблока.

Буду очень признателен, если кто-нибудь поможет с этим.

...