GstH264PPS *last_pps;
};
+GST_EXPORT
GstH264NalParser *gst_h264_nal_parser_new (void);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_identify_nalu (GstH264NalParser *nalparser,
const guint8 *data, guint offset,
gsize size, GstH264NalUnit *nalu);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_identify_nalu_unchecked (GstH264NalParser *nalparser,
const guint8 *data, guint offset,
gsize size, GstH264NalUnit *nalu);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_identify_nalu_avc (GstH264NalParser *nalparser, const guint8 *data,
guint offset, gsize size, guint8 nal_length_size,
GstH264NalUnit *nalu);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_parse_nal (GstH264NalParser *nalparser,
GstH264NalUnit *nalu);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_parse_slice_hdr (GstH264NalParser *nalparser, GstH264NalUnit *nalu,
GstH264SliceHdr *slice, gboolean parse_pred_weight_table,
gboolean parse_dec_ref_pic_marking);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_parse_subset_sps (GstH264NalParser *nalparser, GstH264NalUnit *nalu,
GstH264SPS *sps, gboolean parse_vui_params);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_parse_sps (GstH264NalParser *nalparser, GstH264NalUnit *nalu,
GstH264SPS *sps, gboolean parse_vui_params);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_parse_pps (GstH264NalParser *nalparser,
GstH264NalUnit *nalu, GstH264PPS *pps);
+GST_EXPORT
GstH264ParserResult gst_h264_parser_parse_sei (GstH264NalParser *nalparser,
GstH264NalUnit *nalu, GArray ** messages);
+GST_EXPORT
void gst_h264_nal_parser_free (GstH264NalParser *nalparser);
+GST_EXPORT
GstH264ParserResult gst_h264_parse_subset_sps (GstH264NalUnit *nalu,
GstH264SPS *sps, gboolean parse_vui_params);
+GST_EXPORT
GstH264ParserResult gst_h264_parse_sps (GstH264NalUnit *nalu,
GstH264SPS *sps, gboolean parse_vui_params);
+GST_EXPORT
GstH264ParserResult gst_h264_parse_pps (GstH264NalParser *nalparser,
GstH264NalUnit *nalu, GstH264PPS *pps);
+GST_EXPORT
void gst_h264_sps_clear (GstH264SPS *sps);
+
+GST_EXPORT
void gst_h264_pps_clear (GstH264PPS *pps);
+GST_EXPORT
void gst_h264_quant_matrix_8x8_get_zigzag_from_raster (guint8 out_quant[64],
const guint8 quant[64]);
+GST_EXPORT
void gst_h264_quant_matrix_8x8_get_raster_from_zigzag (guint8 out_quant[64],
const guint8 quant[64]);
+GST_EXPORT
void gst_h264_quant_matrix_4x4_get_zigzag_from_raster (guint8 out_quant[16],
const guint8 quant[16]);
+GST_EXPORT
void gst_h264_quant_matrix_4x4_get_raster_from_zigzag (guint8 out_quant[16],
const guint8 quant[16]);
+GST_EXPORT
void gst_h264_video_calculate_framerate (const GstH264SPS * sps, guint field_pic_flag,
guint pic_struct, gint * fps_num, gint * fps_den);
GstH265PPS *last_pps;
};
+GST_EXPORT
GstH265Parser * gst_h265_parser_new (void);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_identify_nalu (GstH265Parser * parser,
const guint8 * data,
guint offset,
gsize size,
GstH265NalUnit * nalu);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_identify_nalu_unchecked (GstH265Parser * parser,
const guint8 * data,
guint offset,
gsize size,
GstH265NalUnit * nalu);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_identify_nalu_hevc (GstH265Parser * parser,
const guint8 * data,
guint offset,
guint8 nal_length_size,
GstH265NalUnit * nalu);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_parse_nal (GstH265Parser * parser,
GstH265NalUnit * nalu);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_parse_slice_hdr (GstH265Parser * parser,
GstH265NalUnit * nalu,
GstH265SliceHdr * slice);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_parse_vps (GstH265Parser * parser,
GstH265NalUnit * nalu,
GstH265VPS * vps);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_parse_sps (GstH265Parser * parser,
GstH265NalUnit * nalu,
GstH265SPS * sps,
gboolean parse_vui_params);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_parse_pps (GstH265Parser * parser,
GstH265NalUnit * nalu,
GstH265PPS * pps);
+GST_EXPORT
GstH265ParserResult gst_h265_parser_parse_sei (GstH265Parser * parser,
GstH265NalUnit * nalu,
GArray **messages);
+GST_EXPORT
void gst_h265_parser_free (GstH265Parser * parser);
+GST_EXPORT
GstH265ParserResult gst_h265_parse_vps (GstH265NalUnit * nalu,
GstH265VPS * vps);
+GST_EXPORT
GstH265ParserResult gst_h265_parse_sps (GstH265Parser * parser,
GstH265NalUnit * nalu,
GstH265SPS * sps,
gboolean parse_vui_params);
+GST_EXPORT
GstH265ParserResult gst_h265_parse_pps (GstH265Parser * parser,
GstH265NalUnit * nalu,
GstH265PPS * pps);
+GST_EXPORT
gboolean gst_h265_slice_hdr_copy (GstH265SliceHdr * dst_slice,
const GstH265SliceHdr * src_slice);
+GST_EXPORT
void gst_h265_slice_hdr_free (GstH265SliceHdr * slice_hdr);
+GST_EXPORT
gboolean gst_h265_sei_copy (GstH265SEIMessage * dest_sei,
const GstH265SEIMessage * src_sei);
+GST_EXPORT
void gst_h265_sei_free (GstH265SEIMessage * sei);
+GST_EXPORT
void gst_h265_quant_matrix_4x4_get_zigzag_from_raster (guint8 out_quant[16],
const guint8 quant[16]);
+GST_EXPORT
void gst_h265_quant_matrix_4x4_get_raster_from_zigzag (guint8 out_quant[16],
const guint8 quant[16]);
+GST_EXPORT
void gst_h265_quant_matrix_8x8_get_zigzag_from_raster (guint8 out_quant[64],
const guint8 quant[64]);
+GST_EXPORT
void gst_h265_quant_matrix_8x8_get_raster_from_zigzag (guint8 out_quant[64],
const guint8 quant[64]);
#define gst_h265_quant_matrix_32x32_get_raster_from_zigzag \
gst_h265_quant_matrix_8x8_get_raster_from_zigzag
+GST_EXPORT
void gst_h265_quant_matrix_4x4_get_uprightdiagonal_from_raster (guint8 out_quant[16],
const guint8 quant[16]);
+GST_EXPORT
void gst_h265_quant_matrix_4x4_get_raster_from_uprightdiagonal (guint8 out_quant[16],
const guint8 quant[16]);
+GST_EXPORT
void gst_h265_quant_matrix_8x8_get_uprightdiagonal_from_raster (guint8 out_quant[64],
const guint8 quant[64]);
+GST_EXPORT
void gst_h265_quant_matrix_8x8_get_raster_from_uprightdiagonal (guint8 out_quant[64],
const guint8 quant[64]);
/* GST_JPEG2000_SAMPLING_LIST: sampling strings in list form, for use in caps */
#define GST_JPEG2000_SAMPLING_LIST "sampling = (string) {\"RGB\", \"BGR\", \"RGBA\", \"BGRA\", \"YCbCr-4:4:4\", \"YCbCr-4:2:2\", \"YCbCr-4:2:0\", \"YCbCr-4:1:1\", \"GRAYSCALE\" , \"YCbCrA-4:4:4:4\"}"
+GST_EXPORT
const gchar *gst_jpeg2000_sampling_to_string (GstJPEG2000Sampling sampling);
+
+GST_EXPORT
GstJPEG2000Sampling gst_jpeg2000_sampling_from_string (const gchar *
sampling_string);
+
+GST_EXPORT
gboolean gst_jpeg2000_sampling_is_rgb (GstJPEG2000Sampling sampling);
+
+GST_EXPORT
gboolean gst_jpeg2000_sampling_is_yuv (GstJPEG2000Sampling sampling);
+
+GST_EXPORT
gboolean gst_jpeg2000_sampling_is_mono (GstJPEG2000Sampling sampling);
GST_JPEG2000_COLORSPACE_GRAY
} GstJPEG2000Colorspace;
+GST_EXPORT
const gchar *gst_jpeg2000_colorspace_to_string (GstJPEG2000Colorspace
colorspace);
+
+GST_EXPORT
GstJPEG2000Colorspace gst_jpeg2000_colorspace_from_string (const gchar *
colorspace_string);
gssize size;
};
+GST_EXPORT
gboolean gst_jpeg_parse (GstJpegSegment * seg,
const guint8 * data,
gsize size,
guint offset);
+GST_EXPORT
gboolean gst_jpeg_segment_parse_frame_header (const GstJpegSegment * segment,
GstJpegFrameHdr * frame_hdr);
+GST_EXPORT
gboolean gst_jpeg_segment_parse_scan_header (const GstJpegSegment * segment,
GstJpegScanHdr * scan_hdr);
+GST_EXPORT
gboolean gst_jpeg_segment_parse_huffman_table (const GstJpegSegment * segment,
GstJpegHuffmanTables * huff_tables);
+GST_EXPORT
gboolean gst_jpeg_segment_parse_restart_interval (const GstJpegSegment * segment,
guint * interval);
+GST_EXPORT
gboolean gst_jpeg_segment_parse_quantization_table (const GstJpegSegment * segment,
GstJpegQuantTables * quant_tables);
+GST_EXPORT
void gst_jpeg_get_default_quantization_tables (GstJpegQuantTables * quant_tables);
+GST_EXPORT
void gst_jpeg_get_default_huffman_tables (GstJpegHuffmanTables * huff_tables);
G_END_DECLS
GstMpeg4StartCode type;
};
+GST_EXPORT
GstMpeg4ParseResult gst_h263_parse (GstMpeg4Packet * packet,
const guint8 * data, guint offset,
gsize size);
+GST_EXPORT
GstMpeg4ParseResult gst_mpeg4_parse (GstMpeg4Packet * packet,
gboolean skip_user_data,
GstMpeg4VideoObjectPlane *vop,
const guint8 * data, guint offset,
gsize size);
-
+GST_EXPORT
GstMpeg4ParseResult
gst_mpeg4_parse_video_object_plane (GstMpeg4VideoObjectPlane *vop,
GstMpeg4SpriteTrajectory *sprite_trajectory,
GstMpeg4VideoObjectLayer *vol,
const guint8 * data,
gsize size);
-
+GST_EXPORT
GstMpeg4ParseResult
gst_mpeg4_parse_group_of_vop (GstMpeg4GroupOfVOP *gov,
const guint8 * data, gsize size);
-
+GST_EXPORT
GstMpeg4ParseResult
gst_mpeg4_parse_video_object_layer (GstMpeg4VideoObjectLayer *vol,
GstMpeg4VisualObject *vo,
const guint8 * data, gsize size);
-
+GST_EXPORT
GstMpeg4ParseResult
gst_mpeg4_parse_visual_object (GstMpeg4VisualObject *vo,
GstMpeg4VideoSignalType *signal_type,
const guint8 * data, gsize size);
-
+GST_EXPORT
GstMpeg4ParseResult
gst_mpeg4_parse_visual_object_sequence (GstMpeg4VisualObjectSequence *vos,
const guint8 * data, gsize size);
+GST_EXPORT
GstMpeg4ParseResult
gst_mpeg4_parse_video_plane_short_header (GstMpeg4VideoPlaneShortHdr * shorthdr,
const guint8 * data, gsize size);
-
+GST_EXPORT
GstMpeg4ParseResult
gst_mpeg4_parse_video_packet_header (GstMpeg4VideoPacketHdr * videopackethdr,
GstMpeg4VideoObjectLayer * vol,
typedef struct _GstMpegVideoMeta GstMpegVideoMeta;
+GST_EXPORT
GType gst_mpeg_video_meta_api_get_type (void);
#define GST_MPEG_VIDEO_META_API_TYPE (gst_mpeg_video_meta_api_get_type())
#define GST_MPEG_VIDEO_META_INFO (gst_mpeg_video_meta_get_info())
+GST_EXPORT
const GstMetaInfo * gst_mpeg_video_meta_get_info (void);
/**
#define gst_buffer_get_mpeg_video_meta(b) ((GstMpegVideoMeta*)gst_buffer_get_meta((b),GST_MPEG_VIDEO_META_API_TYPE))
+GST_EXPORT
GstMpegVideoMeta *
gst_buffer_add_mpeg_video_meta (GstBuffer * buffer,
const GstMpegVideoSequenceHdr *seq_hdr,
gint size;
};
+GST_EXPORT
gboolean gst_mpeg_video_parse (GstMpegVideoPacket * packet,
const guint8 * data, gsize size, guint offset);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_sequence_header (const GstMpegVideoPacket * packet,
GstMpegVideoSequenceHdr * seqhdr);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_sequence_extension (const GstMpegVideoPacket * packet,
GstMpegVideoSequenceExt * seqext);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_sequence_display_extension (const GstMpegVideoPacket * packet,
GstMpegVideoSequenceDisplayExt * seqdisplayext);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_sequence_scalable_extension (const GstMpegVideoPacket * packet,
GstMpegVideoSequenceScalableExt * seqscaleext);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_picture_header (const GstMpegVideoPacket * packet,
GstMpegVideoPictureHdr* pichdr);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_picture_extension (const GstMpegVideoPacket * packet,
GstMpegVideoPictureExt *picext);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_gop (const GstMpegVideoPacket * packet,
GstMpegVideoGop * gop);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_slice_header (const GstMpegVideoPacket * packet,
GstMpegVideoSliceHdr * slice_hdr,
GstMpegVideoSequenceHdr * seq_hdr,
GstMpegVideoSequenceScalableExt * seqscaleext);
+GST_EXPORT
gboolean gst_mpeg_video_packet_parse_quant_matrix_extension (const GstMpegVideoPacket * packet,
GstMpegVideoQuantMatrixExt * quant);
/* seqext and displayext may be NULL if not received */
+
+GST_EXPORT
gboolean gst_mpeg_video_finalise_mpeg2_sequence_header (GstMpegVideoSequenceHdr *hdr,
GstMpegVideoSequenceExt *seqext, GstMpegVideoSequenceDisplayExt *displayext);
#ifndef GST_DISABLE_DEPRECATED
+GST_EXPORT
gboolean gst_mpeg_video_parse_picture_header (GstMpegVideoPictureHdr* hdr,
const guint8 * data, gsize size, guint offset);
+GST_EXPORT
gboolean gst_mpeg_video_parse_picture_extension (GstMpegVideoPictureExt *ext,
const guint8 * data, gsize size, guint offset);
+GST_EXPORT
gboolean gst_mpeg_video_parse_gop (GstMpegVideoGop * gop,
const guint8 * data, gsize size, guint offset);
+GST_EXPORT
gboolean gst_mpeg_video_parse_sequence_header (GstMpegVideoSequenceHdr * seqhdr,
const guint8 * data, gsize size, guint offset);
+GST_EXPORT
gboolean gst_mpeg_video_parse_sequence_extension (GstMpegVideoSequenceExt * seqext,
const guint8 * data, gsize size, guint offset);
+GST_EXPORT
gboolean gst_mpeg_video_parse_sequence_display_extension (GstMpegVideoSequenceDisplayExt * seqdisplayext,
const guint8 * data, gsize size, guint offset);
+GST_EXPORT
gboolean gst_mpeg_video_parse_quant_matrix_extension (GstMpegVideoQuantMatrixExt * quant,
const guint8 * data, gsize size, guint offset);
#endif
+GST_EXPORT
void gst_mpeg_video_quant_matrix_get_raster_from_zigzag (guint8 out_quant[64],
const guint8 quant[64]);
+GST_EXPORT
void gst_mpeg_video_quant_matrix_get_zigzag_from_raster (guint8 out_quant[64],
const guint8 quant[64]);
guint8 * data;
};
+GST_EXPORT
GstVC1ParserResult gst_vc1_identify_next_bdu (const guint8 *data,
gsize size,
GstVC1BDU *bdu);
+GST_EXPORT
GstVC1ParserResult gst_vc1_parse_sequence_header (const guint8 *data,
gsize size,
GstVC1SeqHdr * seqhdr);
+GST_EXPORT
GstVC1ParserResult gst_vc1_parse_entry_point_header (const guint8 *data,
gsize size,
GstVC1EntryPointHdr * entrypoint,
GstVC1SeqHdr *seqhdr);
+GST_EXPORT
GstVC1ParserResult gst_vc1_parse_sequence_layer (const guint8 *data,
gsize size,
GstVC1SeqLayer * seqlayer);
-
+GST_EXPORT
GstVC1ParserResult
gst_vc1_parse_sequence_header_struct_a (const guint8 *data,
gsize size,
GstVC1SeqStructA *structa);
+GST_EXPORT
GstVC1ParserResult
gst_vc1_parse_sequence_header_struct_b (const guint8 *data,
gsize size,
GstVC1SeqStructB *structb);
-
+GST_EXPORT
GstVC1ParserResult
gst_vc1_parse_sequence_header_struct_c (const guint8 *data,
gsize size,
GstVC1SeqStructC *structc);
+GST_EXPORT
GstVC1ParserResult gst_vc1_parse_frame_layer (const guint8 *data,
gsize size,
GstVC1FrameLayer * framelayer);
+GST_EXPORT
GstVC1ParserResult gst_vc1_parse_frame_header (const guint8 *data,
gsize size,
GstVC1FrameHdr * framehdr,
GstVC1SeqHdr *seqhdr,
GstVC1BitPlanes *bitplanes);
+GST_EXPORT
GstVC1ParserResult gst_vc1_parse_field_header (const guint8 *data,
gsize size,
GstVC1FrameHdr * fieldhdr,
GstVC1SeqHdr *seqhdr,
GstVC1BitPlanes *bitplanes);
+GST_EXPORT
GstVC1ParserResult gst_vc1_parse_slice_header (const guint8 *data,
gsize size,
GstVC1SliceHdr *slicehdr,
GstVC1SeqHdr *seqhdr);
+GST_EXPORT
GstVC1BitPlanes * gst_vc1_bitplanes_new (void);
+GST_EXPORT
void gst_vc1_bitplanes_free (GstVC1BitPlanes *bitplanes);
+GST_EXPORT
void gst_vc1_bitplanes_free_1 (GstVC1BitPlanes *bitplanes);
+GST_EXPORT
gboolean gst_vc1_bitplanes_ensure_size (GstVC1BitPlanes *bitplanes,
GstVC1SeqHdr *seqhdr);
GstVp8ModeProbs mode_probs;
};
-void
-gst_vp8_parser_init (GstVp8Parser * parser);
+GST_EXPORT
+void gst_vp8_parser_init (GstVp8Parser * parser);
-GstVp8ParserResult
-gst_vp8_parser_parse_frame_header (GstVp8Parser * parser,
- GstVp8FrameHdr * frame_hdr, const guint8 * data, gsize size);
+GST_EXPORT
+GstVp8ParserResult gst_vp8_parser_parse_frame_header (GstVp8Parser * parser,
+ GstVp8FrameHdr * frame_hdr,
+ const guint8 * data,
+ gsize size);
G_END_DECLS
guint8 count;
};
-gboolean
-gst_vp8_range_decoder_init (GstVp8RangeDecoder * rd, const guchar * buf,
- guint buf_size);
+GST_EXPORT
+gboolean gst_vp8_range_decoder_init (GstVp8RangeDecoder * rd,
+ const guchar * buf,
+ guint buf_size);
-gint
-gst_vp8_range_decoder_read (GstVp8RangeDecoder * rd, guint8 prob);
+GST_EXPORT
+gint gst_vp8_range_decoder_read (GstVp8RangeDecoder * rd, guint8 prob);
-gint
-gst_vp8_range_decoder_read_literal (GstVp8RangeDecoder * rd, gint bits);
+GST_EXPORT
+gint gst_vp8_range_decoder_read_literal (GstVp8RangeDecoder * rd, gint bits);
-guint
-gst_vp8_range_decoder_get_pos (GstVp8RangeDecoder * rd);
+GST_EXPORT
+guint gst_vp8_range_decoder_get_pos (GstVp8RangeDecoder * rd);
-void
-gst_vp8_range_decoder_get_state (GstVp8RangeDecoder * rd,
- GstVp8RangeDecoderState * state);
+GST_EXPORT
+void gst_vp8_range_decoder_get_state (GstVp8RangeDecoder * rd,
+ GstVp8RangeDecoderState * state);
#endif /* GST_VP8_RANGE_DECODER_H */
GstVp9Segmentation segmentation[GST_VP9_MAX_SEGMENTS];
};
+GST_EXPORT
GstVp9Parser * gst_vp9_parser_new (void);
+GST_EXPORT
GstVp9ParserResult gst_vp9_parser_parse_frame_header (GstVp9Parser* parser, GstVp9FrameHdr * frame_hdr, const guint8 * data, gsize size);
+GST_EXPORT
void gst_vp9_parser_free (GstVp9Parser * parser);
G_END_DECLS