![]() |
Sunshine latest
Self-hosted game stream host for Moonlight.
|
Definitions for FFmpeg Coded Bitstream API. More...
#include <libavcodec/avcodec.h>
#include <libavcodec/cbs_h264.h>
#include <libavcodec/cbs_h265.h>
#include <libavcodec/h264_levels.h>
#include <libavutil/pixdesc.h>
#include "cbs.h"
#include "logging.h"
#include "utility.h"
Classes | |
class | cbs::frag_t |
Typedefs | |
using | cbs::ctx_t = util::safe_ptr<CodedBitstreamContext, close> |
Functions | |
void | cbs::close (CodedBitstreamContext *c) |
h264_t | cbs::make_sps_h264 (const AVCodecContext *avctx, const AVPacket *packet) |
hevc_t | cbs::make_sps_hevc (const AVCodecContext *avctx, const AVPacket *packet) |
bool | cbs::validate_sps (const AVPacket *packet, int codec_id) |
Validates the Sequence Parameter Set (SPS) of a given packet. | |
util::buffer_t< std::uint8_t > | cbs::write (cbs::ctx_t &cbs_ctx, std::uint8_t nal, void *uh, AVCodecID codec_id) |
util::buffer_t< std::uint8_t > | cbs::write (std::uint8_t nal, void *uh, AVCodecID codec_id) |
Definitions for FFmpeg Coded Bitstream API.
bool cbs::validate_sps | ( | const AVPacket * | packet, |
int | codec_id ) |
Validates the Sequence Parameter Set (SPS) of a given packet.
This function initializes a Coded Bitstream Context and reads the packet into a Coded Bitstream Fragment. It then checks if the SPS->VUI (Video Usability Information) is present in the active SPS of the packet. This is done for both H264 and H265 codecs.
packet | The packet to validate. |
codec_id | The ID of the codec used (either AV_CODEC_ID_H264 or AV_CODEC_ID_H265). |