Diffstat (limited to 'core/multimedia/opieplayer/libmpeg3/mpeg3protos.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/libmpeg3/mpeg3protos.h | 278 |
1 files changed, 278 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/libmpeg3/mpeg3protos.h b/core/multimedia/opieplayer/libmpeg3/mpeg3protos.h new file mode 100644 index 0000000..631336b --- a/dev/null +++ b/core/multimedia/opieplayer/libmpeg3/mpeg3protos.h @@ -0,0 +1,278 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef MPEG3PROTOS_H +#define MPEG3PROTOS_H + +#if defined(__cplusplus) +extern "C" { +#endif + +/* CSS */ + +mpeg3_css_t* mpeg3_new_css(); + +/* DEMUX */ + +mpeg3_demuxer_t* mpeg3_new_demuxer(mpeg3_t *file, int do_audio, int do_video, int stream_id); +int mpeg3_delete_demuxer(mpeg3_demuxer_t *demuxer); +int mpeg3demux_read_data(mpeg3_demuxer_t *demuxer, unsigned char *output, long size); +unsigned int mpeg3demux_read_int32(mpeg3_demuxer_t *demuxer); +unsigned int mpeg3demux_read_int24(mpeg3_demuxer_t *demuxer); +unsigned int mpeg3demux_read_int16(mpeg3_demuxer_t *demuxer); +double mpeg3demux_length(mpeg3_demuxer_t *demuxer); +mpeg3_demuxer_t* mpeg3_get_demuxer(mpeg3_t *file); +long mpeg3demux_tell(mpeg3_demuxer_t *demuxer); +double mpeg3demux_tell_percentage(mpeg3_demuxer_t *demuxer); +double mpeg3demux_get_time(mpeg3_demuxer_t *demuxer); +int mpeg3demux_eof(mpeg3_demuxer_t *demuxer); +int mpeg3demux_bof(mpeg3_demuxer_t *demuxer); +int mpeg3demux_copy_titles(mpeg3_demuxer_t *dst, mpeg3_demuxer_t *src); +int mpeg3demux_create_title(mpeg3_demuxer_t *demuxer, int timecode_search, FILE *toc); +long mpeg3demuxer_total_bytes(mpeg3_demuxer_t *demuxer); +int mpeg3demux_seek_byte(mpeg3_demuxer_t *demuxer, long byte); +int mpeg3demux_seek_time(mpeg3_demuxer_t *demuxer, double new_time); +int mpeg3demux_seek_percentage(mpeg3_demuxer_t *demuxer, double percentage); +int mpeg3demux_print_streams(mpeg3_demuxer_t *demuxer, FILE *toc); +int mpeg3demux_print_timecodes(mpeg3_title_t *title, FILE *output); +int mpeg3demux_read_titles(mpeg3_demuxer_t *demuxer); +int mpeg3demux_open_title(mpeg3_demuxer_t *demuxer, int title_number); + +/* TITLE */ + +mpeg3_title_t* mpeg3_new_title(mpeg3_t *file, char *path); +int mpeg3_delete_title(mpeg3_title_t *title); +int mpeg3_copy_title(mpeg3_title_t *dst, mpeg3_title_t *src); + + +/* ATRACK */ + +mpeg3_atrack_t* mpeg3_new_atrack(mpeg3_t *file, int stream_id, int is_ac3, mpeg3_demuxer_t *demuxer); +int mpeg3_delete_atrack(mpeg3_t *file, mpeg3_atrack_t *atrack); + +/* VTRACK */ + +mpeg3_vtrack_t* mpeg3_new_vtrack(mpeg3_t *file, int stream_id, mpeg3_demuxer_t *demuxer); +int mpeg3_delete_vtrack(mpeg3_t *file, mpeg3_vtrack_t *vtrack); + +/* AUDIO */ +mpeg3audio_t* mpeg3audio_new(mpeg3_t *file, mpeg3_atrack_t *track, int is_ac3); +int mpeg3audio_delete(mpeg3audio_t *audio); +int mpeg3audio_seek_sample(mpeg3audio_t *audio, long sample); +int mpeg3audio_seek_percentage(mpeg3audio_t *audio, double percentage); +int mpeg3audio_decode_audio(mpeg3audio_t *audio, + mpeg3_real_t *output_f, + short *output_i, int sampleSpacing, + int channel, + long start_position, + long len); +int mpeg3audio_read_raw(mpeg3audio_t *audio, unsigned char *output, long *size, long max_size); +int mpeg3audio_read_ac3_header(mpeg3audio_t *audio); +int mpeg3audio_read_pcm_header(mpeg3audio_t *audio); +int mpeg3audio_synth_mono(mpeg3audio_t *audio, mpeg3_real_t *bandPtr, mpeg3_real_t *samples, int *pnt); +int mpeg3audio_synth_stereo(mpeg3audio_t *audio, mpeg3_real_t *bandPtr, int channel, mpeg3_real_t *out, int *pnt); +int mpeg3audio_replace_buffer(mpeg3audio_t *audio, long new_allocation); +int mpeg3audio_ac3_exponent_unpack(mpeg3audio_t *audio, + mpeg3_ac3bsi_t *bsi, + mpeg3_ac3audblk_t *audblk); +int mpeg3audio_ac3_bit_allocate(mpeg3audio_t *audio, + unsigned int fscod, + mpeg3_ac3bsi_t *bsi, + mpeg3_ac3audblk_t *audblk); +int mpeg3audio_ac3_coeff_unpack(mpeg3audio_t *audio, + mpeg3_ac3bsi_t *bsi, + mpeg3_ac3audblk_t *audblk, + mpeg3ac3_stream_samples_t samples); +int mpeg3audio_ac3_imdct(mpeg3audio_t *audio, + mpeg3_ac3bsi_t *bsi, + mpeg3_ac3audblk_t *audblk, + mpeg3ac3_stream_samples_t samples); +int mpeg3audio_replace_buffer(mpeg3audio_t *audio, long new_allocation); +int mpeg3audio_dct36(mpeg3_real_t *inbuf, mpeg3_real_t *o1, mpeg3_real_t *o2, mpeg3_real_t *wintab, mpeg3_real_t *tsbuf); +int mpeg3audio_dct12(mpeg3_real_t *in,mpeg3_real_t *rawout1,mpeg3_real_t *rawout2,register mpeg3_real_t *wi,register mpeg3_real_t *ts); +int mpeg3audio_read_header(mpeg3audio_t *audio); +int mpeg3audio_do_ac3(mpeg3audio_t *audio); +int mpeg3audio_dolayer2(mpeg3audio_t *audio); +int mpeg3audio_dolayer3(mpeg3audio_t *audio); +int mpeg3audio_do_pcm(mpeg3audio_t *audio); +int mpeg3audio_dct64(mpeg3_real_t *a, mpeg3_real_t *b, mpeg3_real_t *c); +int mpeg3audio_reset_synths(mpeg3audio_t *audio); +int mpeg3audio_prev_header(mpeg3audio_t *audio); +int mpeg3audio_read_layer3_frame(mpeg3audio_t *audio); +int mpeg3audio_new_decode_tables(mpeg3audio_t *audio); +int mpeg3audio_imdct_init(mpeg3audio_t *audio); + + +/* VIDEO */ +mpeg3video_t* mpeg3video_new(mpeg3_t *file, mpeg3_vtrack_t *track); +int mpeg3video_delete(mpeg3video_t *video); +int mpeg3video_read_frame(mpeg3video_t *video, + long frame_number, + unsigned char **output_rows, + int in_x, + int in_y, + int in_w, + int in_h, + int out_w, + int out_h, + int color_model); +int mpeg3video_set_cpus(mpeg3video_t *video, int cpus); +int mpeg3video_set_mmx(mpeg3video_t *video, int use_mmx); +int mpeg3video_seek(mpeg3video_t *video); +int mpeg3video_seek_frame(mpeg3video_t *video, long frame); +int mpeg3video_seek_percentage(mpeg3video_t *video, double percentage); +int mpeg3video_previous_frame(mpeg3video_t *video); +int mpeg3video_drop_frames(mpeg3video_t *video, long frames); +int mpeg3video_read_yuvframe(mpeg3video_t *video, + long frame_number, + char *y_output, + char *u_output, + char *v_output, + int in_x, + int in_y, + int in_w, + int in_h); +int mpeg3video_read_raw(mpeg3video_t *video, unsigned char *output, long *size, long max_size); +int mpeg3video_display_second_field(mpeg3video_t *video); +int mpeg3video_init_output(); +int mpeg3video_get_header(mpeg3video_t *video, int dont_repeat); +int mpeg3video_getpicture(mpeg3video_t *video, int framenum); +int mpeg3video_match_refframes(mpeg3video_t *video); +int mpeg3video_next_code(mpeg3_bits_t* stream, unsigned int code); +int mpeg3video_prev_code(mpeg3_bits_t* stream, unsigned int code); +int mpeg3video_getgophdr(mpeg3video_t *video); +int mpeg3video_present_frame(mpeg3video_t *video); +int mpeg3video_read_frame_backend(mpeg3video_t *video, int skip_bframes); +int mpeg3video_getslicehdr(mpeg3_slice_t *slice, mpeg3video_t *video); +int mpeg3video_get_macroblock_address(mpeg3_slice_t *slice); +int mpeg3video_macroblock_modes(mpeg3_slice_t *slice, + mpeg3video_t *video, + int *pmb_type, + int *pstwtype, + int *pstwclass, + int *pmotion_type, + int *pmv_count, + int *pmv_format, + int *pdmv, + int *pmvscale, + int *pdct_type); +int mpeg3video_motion_vectors(mpeg3_slice_t *slice, + mpeg3video_t *video, + int PMV[2][2][2], + int dmvector[2], + int mv_field_sel[2][2], + int s, + int mv_count, + int mv_format, + int h_r_size, + int v_r_size, + int dmv, + int mvscale); +void mpeg3video_motion_vector(mpeg3_slice_t *slice, + mpeg3video_t *video, + int *PMV, + int *dmvector, + int h_r_size, + int v_r_size, + int dmv, + int mvscale, + int full_pel_vector); +int mpeg3video_get_cbp(mpeg3_slice_t *slice); +int mpeg3video_clearblock(mpeg3_slice_t *slice, int comp, int size); +int mpeg3video_getmpg2intrablock(mpeg3_slice_t *slice, + mpeg3video_t *video, + int comp, + int dc_dct_pred[]); +int mpeg3video_getintrablock(mpeg3_slice_t *slice, + mpeg3video_t *video, + int comp, + int dc_dct_pred[]); +int mpeg3video_getmpg2interblock(mpeg3_slice_t *slice, + mpeg3video_t *video, + int comp); +int mpeg3video_getinterblock(mpeg3_slice_t *slice, + mpeg3video_t *video, + int comp); +int mpeg3video_reconstruct(mpeg3video_t *video, + int bx, + int by, + int mb_type, + int motion_type, + int PMV[2][2][2], + int mv_field_sel[2][2], + int dmvector[2], + int stwtype); +void mpeg3video_calc_dmv(mpeg3video_t *video, + int DMV[][2], + int *dmvector, + int mvx, + int mvy); + + +/* FILESYSTEM */ + +mpeg3_fs_t* mpeg3_new_fs(char *path); +int mpeg3_delete_fs(mpeg3_fs_t *fs); +int mpeg3io_open_file(mpeg3_fs_t *fs); +int mpeg3io_close_file(mpeg3_fs_t *fs); +int mpeg3io_read_data(unsigned char *buffer, long bytes, mpeg3_fs_t *fs); + +/* BITSTREAM */ +mpeg3_bits_t* mpeg3bits_new_stream(mpeg3_t *file, mpeg3_demuxer_t *demuxer); +unsigned int mpeg3bits_getbits(mpeg3_bits_t* stream, int n); +int mpeg3bits_read_buffer(mpeg3_bits_t* stream, unsigned char *buffer, int bytes); +int mpeg3bits_use_ptr(mpeg3_bits_t* stream, unsigned char *buffer); +int mpeg3bits_use_demuxer(mpeg3_bits_t* stream); +int mpeg3bits_refill(mpeg3_bits_t* stream); +int mpeg3bits_getbitoffset(mpeg3_bits_t *stream); +void mpeg3bits_start_reverse(mpeg3_bits_t* stream); +void mpeg3bits_start_forward(mpeg3_bits_t* stream); +int mpeg3bits_delete_stream(mpeg3_bits_t* stream); +int mpeg3bits_byte_align(mpeg3_bits_t *stream); +int mpeg3bits_seek_start(mpeg3_bits_t* stream); +int mpeg3bits_seek_time(mpeg3_bits_t* stream, double time_position); +int mpeg3bits_seek_byte(mpeg3_bits_t* stream, long position); +int mpeg3bits_seek_percentage(mpeg3_bits_t* stream, double percentage); +unsigned int mpeg3bits_next_startcode(mpeg3_bits_t* stream); +int mpeg3bits_seek_end(mpeg3_bits_t* stream); + +/* MISC */ +int mpeg3_read_toc(mpeg3_t *file); +int mpeg3_generate_toc(FILE *output, char *path, int timecode_search, int print_streams); +int mpeg3_mmx_test(); +int mpeg3io_seek(mpeg3_fs_t *fs, long byte); +int mpeg3io_seek_relative(mpeg3_fs_t *fs, long bytes); +int mpeg3io_device(char *path, char *device); +int mpeg3_decrypt_packet(mpeg3_css_t *css, unsigned char *sector); +int mpeg3_delete_css(mpeg3_css_t *css); +int mpeg3_get_keys(mpeg3_css_t *css, char *path); +int mpeg3_copy_fs(mpeg3_fs_t *dst, mpeg3_fs_t *src); +int mpeg3_min(int x, int y); +int mpeg3_max(int x, int y); +int mpeg3_new_slice_buffer(mpeg3_slice_buffer_t *slice_buffer); +int mpeg3_expand_slice_buffer(mpeg3_slice_buffer_t *slice_buffer); +int mpeg3_delete_slice_decoder(mpeg3_slice_t *slice); +int mpeg3_new_slice_decoder(mpeg3video_t *video, mpeg3_slice_t *slice); +int mpeg3_delete_slice_buffer(mpeg3_slice_buffer_t *slice_buffer); + +#if defined(__cplusplus) +} +#endif + +#endif |