Teknologian jakaminen

【FFmpeg】avcodec_send_packet-toiminto

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

FFmpeg-tietueet:

Esimerkkiprojekti:
[FFmpeg] Kutsu ffmpeg-kirjasto toteuttaaksesi 264 pehmeän muokkauksen
[FFmpeg] Kutsu ffmpeg-kirjasto toteuttaaksesi 264 pehmeän dekoodauksen
[FFmpeg] Soita ffmpeg-kirjastoon työnnä ja vedä RTMP-virtoja
[FFmpeg] Kutsu ffmpeg-kirjasto renderöimään SDL2-dekoodauksen jälkeen

Prosessianalyysi:
[FFmpeg] Yksinkertainen analyysi koodauslinkin päätoiminnoista
[FFmpeg] Yksinkertainen analyysi dekoodauslinkin päätoiminnoista

Rakenteellinen analyysi:
【FFmpeg】AVCodec-rakenne
【FFmpeg】AVCodecContext-rakenne
【FFmpeg】AVStream-rakenne
【FFmpeg】AVFormatContext-rakenne
【FFmpeg】AVIOContekstirakenne
【FFmpeg】AVPacket-rakenne

Toimintoanalyysi:
【Kenraali】
【FFmpeg】avcodec_find_encoder和avcodec_find_decoder
[FFmpeg] Avainrakenteiden alustus ja vapauttaminen (AVFormatContext, AVIOContext jne.)
【FFmpeg】avcodec_open2-funktio

【Push-suoratoisto】
【FFmpeg】avformat_open_input-toiminto
【FFmpeg】avformat_find_stream_info-toiminto
【FFmpeg】avformat_alloc_output_context2-funktio
【FFmpeg】avio_open2-funktio
【FFmpeg】avformat_write_header-funktio
【FFmpeg】av_write_frame-funktio

【koodaus】
【FFmpeg】avcodec_send_frame-funktio

1.avcodec_send_packet

Toiminnon päätehtävä on lähettää pakattu paketti dekooderille. Määritelmä sijaitsee tiedostossa libavcodecdecode.c

/**
 * Supply raw packet data as input to a decoder.
 *
 * Internally, this call will copy relevant AVCodecContext fields, which can
 * influence decoding per-packet, and apply them when the packet is actually
 * decoded. (For example AVCodecContext.skip_frame, which might direct the
 * decoder to drop the frame contained by the packet sent with this function.)
 *
 * @warning The input buffer, avpkt-