50 s->h264_avctx->flags = avctx->
flags;
51 s->h264_avctx->flags2 = avctx->
flags2;
56 s->h264_avctx->apply_cropping = 0;
69 uint32_t payload_size;
74 "Packet too small for IMM6 header: %d bytes\n",
pkt->size);
78 if (
pkt->data[8] > 1) {
80 "Invalid IMM6 mode %u\n",
pkt->data[8]);
85 if (payload_size > (
unsigned)
pkt->size - 24) {
87 "Invalid IMM6 payload size %u in %d-byte packet\n",
88 payload_size,
pkt->size);
94 h264_pkt.
size = payload_size;
102 "Error submitting IMM6 H.264 payload for decoding\n");
const FFCodec ff_h264_decoder
const FFCodec ff_imm6_decoder
Libavcodec external API header.
#define FF_CODEC_RECEIVE_FRAME_CB(func)
#define CODEC_LONG_NAME(str)
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
#define FF_CODEC_CAP_AUTO_THREADS
Codec handles avctx->thread_count == 0 (auto) internally.
int ff_decode_get_packet(AVCodecContext *avctx, AVPacket *pkt)
Called by decoders to get the next packet for decoding.
int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
#define AV_CODEC_CAP_OTHER_THREADS
Codec supports multithreading through a method other than slice- or frame-level multithreading.
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
void avcodec_free_context(AVCodecContext **avctx)
Free the codec context and everything associated with it and write NULL to the provided pointer.
int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame)
Alias for avcodec_receive_frame_flags(avctx, frame, 0).
int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt)
Supply raw packet data as input to a decoder.
void avcodec_flush_buffers(AVCodecContext *avctx)
Reset the internal codec state / flush internal buffers.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
#define AVERROR_EOF
End of file.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
static av_cold void imm6_flush(AVCodecContext *avctx)
static void imm6_update_context(AVCodecContext *avctx)
static av_cold int imm6_init(AVCodecContext *avctx)
static int imm6_send_packet(AVCodecContext *avctx, AVPacket *pkt)
static av_cold int imm6_close(AVCodecContext *avctx)
static int imm6_receive_frame(AVCodecContext *avctx, AVFrame *frame)
Macro definitions for various function/variable attributes.
main external API structure.
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
int width
picture width / height.
int flags2
AV_CODEC_FLAG2_*.
int64_t max_pixels
The number of pixels per image to maximally accept.
enum AVColorRange color_range
MPEG vs JPEG YUV range.
AVRational pkt_timebase
Timebase in which pkt_dts/pts and AVPacket.dts/pts are expressed.
enum AVColorPrimaries color_primaries
Chromaticity coordinates of the source primaries.
AVRational sample_aspect_ratio
sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel.
int has_b_frames
Size of the frame reordering buffer in the decoder.
enum AVDiscard skip_loop_filter
Skip loop filtering for selected frames.
int thread_type
Which multithreading methods to use.
enum AVColorSpace colorspace
YUV colorspace type.
int thread_count
thread count is used to decide how many independent tasks should be passed to execute()
enum AVColorTransferCharacteristic color_trc
Color Transfer Characteristic.
int flags
AV_CODEC_FLAG_*.
enum AVChromaLocation chroma_sample_location
This defines the location of chroma samples.
int coded_width
Bitstream width / height, may be different from width/height e.g.
enum AVDiscard skip_frame
Skip decoding for selected frames.
This structure describes decoded (raw) audio or video data.
This structure stores compressed data.
AVCodecContext * h264_avctx