39 if (((ctx->
texture == 0)&&((section_type & 0x0F) == 0x0F)) ||
40 ((ctx->
texture == 1)&&((section_type & 0x0F) == 0x01)))
54 int start_section_size;
55 int target_packet_size = 0;
67 if ((section_type & 0x0F) != 0x0D) {
68 av_log(bsf,
AV_LOG_ERROR,
"Invalid section type for HAPQA %#04x.\n", section_type & 0x0F);
73 start_section_size = 4;
81 target_packet_size = section_size + 4;
84 start_section_size += 4 + section_size;
90 target_packet_size = section_size + 4;
99 pkt->
data += start_section_size;
100 pkt->
size = target_packet_size;
112 #define OFFSET(x) offsetof(HapqaExtractContext, x)
113 #define FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_BSF_PARAM)
129 .
name =
"hapqa_extract",
132 .priv_class = &hapqa_extract_class,
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
#define LIBAVUTIL_VERSION_INT
The bitstream filter state.
const char * av_default_item_name(void *ptr)
Return the context name.
static av_always_inline void bytestream2_init(GetByteContext *g, const uint8_t *buf, int buf_size)
int ff_hap_parse_section_header(GetByteContext *gbc, int *section_size, enum HapSectionType *section_type)
void * priv_data
Opaque filter-specific private data.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
AVCodecID
Identify the syntax and semantics of the bitstream.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Libavcodec external API header.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
Describe the class of an AVClass context structure.
static av_always_inline int bytestream2_seek(GetByteContext *g, int offset, int whence)
This structure stores compressed data.
int ff_bsf_get_packet_ref(AVBSFContext *ctx, AVPacket *pkt)
Called by bitstream filters to get packet for filtering.