#include "mpeg3private.h"#include "mpeg3protos.h"#include <pthread.h>#include <stdlib.h>

Go to the source code of this file.
Defines | |
| #define | CLIP(x) ((x) >= 0 ? ((x) < 255 ? (x) : 255) : 0) |
Functions | |
| int | mpeg3_new_slice_buffer (mpeg3_slice_buffer_t *slice_buffer) |
| int | mpeg3_delete_slice_buffer (mpeg3_slice_buffer_t *slice_buffer) |
| int | mpeg3_expand_slice_buffer (mpeg3_slice_buffer_t *slice_buffer) |
| static int | mpeg3video_addblock (mpeg3_slice_t *slice, mpeg3video_t *video, int comp, int bx, int by, int dct_type, int addflag) |
| int | mpeg3_decode_slice (mpeg3_slice_t *slice) |
| void | mpeg3_slice_loop (mpeg3_slice_t *slice) |
| int | mpeg3_new_slice_decoder (void *video, mpeg3_slice_t *slice) |
| int | mpeg3_delete_slice_decoder (mpeg3_slice_t *slice) |
| int mpeg3_decode_slice | ( | mpeg3_slice_t * | slice | ) |
Definition at line 163 of file slice.c.
References mpeg3video_t::back_r_size, mpeg3video_t::blk_cnt, mpeg3_slice_t::block, BOTTOM_FIELD, mpeg3_slice_buffer_t::buffer_size, CHROMA422, CHROMA444, mpeg3video_t::chroma_format, comp, mpeg3video_t::conceal_mv, mpeg3_slice_buffer_t::current_position, mpeg3_slice_t::fault, mpeg3video_t::forw_r_size, FRAME_PICTURE, mpeg3video_t::full_back, mpeg3video_t::full_forw, mpeg3video_t::h_back_r_size, mpeg3video_t::h_forw_r_size, I_TYPE, MB_BACKWARD, MB_FORWARD, mpeg3video_t::mb_height, MB_INTRA, MB_PATTERN, MB_QUANT, mpeg3video_t::mb_width, MC_FIELD, MC_FRAME, mpeg3video_t::mpeg2, mpeg3_non_linear_mquant_table, mpeg3slice_flushbit, mpeg3slice_getbits(), mpeg3slice_getbits2(), mpeg3slice_showbits(), mpeg3video_addblock(), mpeg3video_clearblock(), mpeg3video_get_cbp(), mpeg3video_get_macroblock_address(), mpeg3video_getinterblock(), mpeg3video_getintrablock(), mpeg3video_getmpg2interblock(), mpeg3video_getmpg2intrablock(), mpeg3video_getslicehdr(), mpeg3video_idct_conversion(), mpeg3video_macroblock_modes(), mpeg3video_motion_vector(), mpeg3video_motion_vectors(), mpeg3video_reconstruct(), P_TYPE, mpeg3video_t::pict_struct, mpeg3video_t::pict_type, mpeg3video_t::qscale_type, mpeg3_slice_t::quant_scale, SC_DP, mpeg3video_t::scalable_mode, mpeg3_slice_t::slice_buffer, mpeg3video_t::v_back_r_size, mpeg3video_t::v_forw_r_size, and mpeg3_slice_t::video.
Referenced by mpeg3_slice_loop().

| int mpeg3_delete_slice_buffer | ( | mpeg3_slice_buffer_t * | slice_buffer | ) |
Definition at line 27 of file slice.c.
References mpeg3_slice_buffer_t::completion_lock, and mpeg3_slice_buffer_t::data.
Referenced by mpeg3video_delete_struct().
| int mpeg3_delete_slice_decoder | ( | mpeg3_slice_t * | slice | ) |
Definition at line 572 of file slice.c.
References mpeg3_slice_t::done, mpeg3_slice_t::input_lock, mpeg3_slice_t::output_lock, and mpeg3_slice_t::tid.
Referenced by mpeg3video_allocate_decoders(), and mpeg3video_delete_struct().
| int mpeg3_expand_slice_buffer | ( | mpeg3_slice_buffer_t * | slice_buffer | ) |
Definition at line 34 of file slice.c.
References mpeg3_slice_buffer_t::buffer_allocation, mpeg3_slice_buffer_t::buffer_size, and mpeg3_slice_buffer_t::data.
Referenced by mpeg3video_get_macroblocks().
| int mpeg3_new_slice_buffer | ( | mpeg3_slice_buffer_t * | slice_buffer | ) |
Definition at line 10 of file slice.c.
References mpeg3_slice_buffer_t::bits, mpeg3_slice_buffer_t::bits_size, mpeg3_slice_buffer_t::buffer_allocation, mpeg3_slice_buffer_t::buffer_size, mpeg3_slice_buffer_t::completion_lock, mpeg3_slice_buffer_t::current_position, mpeg3_slice_buffer_t::data, and mpeg3_slice_buffer_t::done.
Referenced by mpeg3video_get_macroblocks().
| int mpeg3_new_slice_decoder | ( | void * | video, | |
| mpeg3_slice_t * | slice | |||
| ) |
Definition at line 550 of file slice.c.
References mpeg3_slice_t::completion_lock, mpeg3_slice_t::done, mpeg3_slice_t::input_lock, mpeg3_slice_loop(), mpeg3_slice_t::output_lock, mpeg3_slice_t::tid, and mpeg3_slice_t::video.
Referenced by mpeg3video_allocate_decoders().

| void mpeg3_slice_loop | ( | mpeg3_slice_t * | slice | ) |
Definition at line 487 of file slice.c.
References mpeg3_slice_t::buffer_step, mpeg3_slice_t::completion_lock, mpeg3_slice_buffer_t::completion_lock, mpeg3_slice_t::current_buffer, mpeg3_slice_buffer_t::done, mpeg3_slice_t::done, mpeg3_slice_t::input_lock, mpeg3_slice_t::last_buffer, mpeg3_decode_slice(), mpeg3_slice_t::output_lock, mpeg3_slice_t::slice_buffer, mpeg3video_t::slice_buffers, mpeg3video_t::slice_lock, mpeg3video_t::total_slice_buffers, and mpeg3_slice_t::video.
Referenced by mpeg3_new_slice_decoder().

| static int mpeg3video_addblock | ( | mpeg3_slice_t * | slice, | |
| mpeg3video_t * | video, | |||
| int | comp, | |||
| int | bx, | |||
| int | by, | |||
| int | dct_type, | |||
| int | addflag | |||
| ) | [inline, static] |
Definition at line 50 of file slice.c.
References mpeg3_slice_t::block, mpeg3video_t::chrom_width, CHROMA420, CHROMA444, mpeg3video_t::chroma_format, CLIP, mpeg3video_t::coded_picture_width, FRAME_PICTURE, mpeg3video_t::newframe, mpeg3video_t::pict_struct, and mpeg3_slice_t::sparse.
Referenced by mpeg3_decode_slice().
1.5.5