truemotion1.c File Reference


Detailed Description

Duck TrueMotion v1 Video Decoder by Alex Beregszaszi and Mike Melanson (melanson@pcisys.net).

The TrueMotion v1 decoder presently only decodes 16-bit TM1 data and outputs RGB555 (or RGB565) data. 24-bit TM1 data is not supported yet.

Definition in file truemotion1.c.

Go to the source code of this file.

Classes

struct  TrueMotion1Context
struct  frame_header
struct  comp_types

Functions

static void select_delta_tables (TrueMotion1Context *s, int delta_table_index)
static int make_ydt15_entry (int p2, int p1, int16_t *ydt) static int make_ydt15_entry(int p1
 if (predictor_pair &1)
static void truemotion1_decode_16bit (TrueMotion1Context *s)
static void truemotion1_decode_24bit (TrueMotion1Context *s)
static int truemotion1_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int truemotion1_decode_end (AVCodecContext *avctx)

Variables

static comp_types compression_types [17]
static int int p2
 horiz_pred = (predictor_pair >> 1)
else index
AVCodec truemotion1_decoder


Function Documentation

static void select_delta_tables ( TrueMotion1Context s,
int  delta_table_index 
) [static]

Definition at line 144 of file truemotion1.c.

static int make_ydt15_entry ( int  p2,
int  p1,
int16_t ydt 
) [static]

if ( predictor_pair &  1  ) 

Definition at line 524 of file truemotion1.c.

static void truemotion1_decode_16bit ( TrueMotion1Context s  )  [static]

Definition at line 594 of file truemotion1.c.

Referenced by truemotion1_decode_frame().

static void truemotion1_decode_24bit ( TrueMotion1Context s  )  [static]

Definition at line 720 of file truemotion1.c.

Referenced by truemotion1_decode_frame().

static int truemotion1_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 847 of file truemotion1.c.

static int truemotion1_decode_end ( AVCodecContext avctx  )  [static]

Definition at line 880 of file truemotion1.c.


Variable Documentation

Initial value:

 {
    { ALGO_NOP,    0, 0, 0 },

    { ALGO_RGB16V, 4, 4, BLOCK_4x4 },
    { ALGO_RGB16H, 4, 4, BLOCK_4x4 },
    { ALGO_RGB16V, 4, 2, BLOCK_4x2 },
    { ALGO_RGB16H, 4, 2, BLOCK_4x2 },

    { ALGO_RGB16V, 2, 4, BLOCK_2x4 },
    { ALGO_RGB16H, 2, 4, BLOCK_2x4 },
    { ALGO_RGB16V, 2, 2, BLOCK_2x2 },
    { ALGO_RGB16H, 2, 2, BLOCK_2x2 },

    { ALGO_NOP,    4, 4, BLOCK_4x4 },
    { ALGO_RGB24H, 4, 4, BLOCK_4x4 },
    { ALGO_NOP,    4, 2, BLOCK_4x2 },
    { ALGO_RGB24H, 4, 2, BLOCK_4x2 },

    { ALGO_NOP,    2, 4, BLOCK_2x4 },
    { ALGO_RGB24H, 2, 4, BLOCK_2x4 },
    { ALGO_NOP,    2, 2, BLOCK_2x2 },
    { ALGO_RGB24H, 2, 2, BLOCK_2x2 }
}

Definition at line 120 of file truemotion1.c.

int int p2

horiz_pred = (predictor_pair >> 1)

Definition at line 523 of file truemotion1.c.

Referenced by truemotion1_decode_16bit(), and truemotion1_decode_24bit().

Definition at line 536 of file truemotion1.c.

Referenced by TabView::actionBack(), TabView::actionRemoveTab(), FlacEncoder::addSamples(), SelectManagedListItem::addSelection(), adpcm_decode_frame(), alloc_table(), ape_read_seek(), asf_read_seek(), SequenceHeader::aspect(), asv1_encode_block(), asv1_put_level(), asv2_encode_block(), asv2_put_level(), av_add_index_entry(), av_base64_decode(), av_find_stream_info(), av_init_random(), av_parser_parse(), av_resample(), av_seek_frame_binary(), av_seek_frame_generic(), av_shr_i(), avi_read_idx1(), avi_read_packet(), avi_read_seek(), build_basis(), build_def_list(), build_frame_code(), build_table(), by(), categorize(), cmp(), compute_scale_factors(), ScreenSetup::cursorDown(), ScreenSetup::cursorUp(), UIType::cutDown(), MythUIType::cutDown(), MythRemoteLineEdit::cycleKeys(), decoder_impl::decode(), decode_cabac_residual_internal(), decode_gain_info(), decode_i2_frame(), decode_init(), decode_mb_cabac(), decode_mb_cavlc(), decode_p_block(), decode_ref_pic_list_reordering(), decode_vectors(), direct_search(), discover_print(), dnxhd_decode_dct_block(), dnxhd_encode_init(), dnxhd_init_vlc(), dv_decode_ac(), encode_dc(), encode_q_branch(), DiSEqCDevRotor::ExecuteRotor(), ff_gmc_c(), ff_h261_reorder_mb_index(), ff_mjpeg_decode_dht(), ff_mjpeg_decode_dqt(), ff_mjpeg_decode_sos(), ff_mpeg1_encode_init(), RemoteEncoder::FillPositionMap(), QMD5::finalize(), ProgramMapTable::FindPIDs(), DecoderBase::FindPosition(), flv_read_seek(), gather_data_for_cel(), generate_bits_table(), get_block_rate(), get_rl_index(), gmc_c(), AvFormatDecoder::HandleGopStart(), MainServer::HandleQueryFreeSpaceSummary(), hdhomerun_device_selector_add_device(), hdhomerun_device_selector_choose_and_lock(), hdhomerun_device_selector_destroy(), hdhomerun_device_selector_find_device(), hdhomerun_device_selector_load_from_windows_registry(), hdhomerun_device_selector_remove_device(), hdhomerun_discover_find_in_list(), hpel_motion_search(), DBox2EPG::httpRequestFinished(), if(), init_pass2(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), MythFlix::InsertMovieIntoQueue(), ipvideo_decode_block_opcode_0xA(), ipvideo_decode_block_opcode_0xD(), ipvideo_decode_opcodes(), VideoBrowser::jumpSelection(), SourceSetup::keyPressEvent(), DirectoryFinder::keyPressEvent(), InputGroup::load(), macroblock(), main(), matroska_read_seek(), mov_write_stsc_tag(), mov_write_stss_tag(), mpc8_read_seek(), mpc_read_seek(), mpeg4_encode_block(), mpeg4_get_block_length(), mxf_decrypt_triplet(), mxf_read_packet(), TabView::newPage(), TabView::newUrlRequested(), DirectoryFinder::OKPressed(), TabView::openMenu(), our_MD5Final(), ourMD5Update(), SearchListBoxItem::paint(), pix_sum16_mmx(), DecoderBase::PosMapFromDb(), Gears::process(), Spectrum::process(), MonoScope::process(), StereoScope::process(), TV::ProcessNetworkControlCommand(), qpel_motion_search(), read_seek(), RenderCallbackSPDIF(), rpza_decode_stream(), SearchDialog::runQuery(), sad_hpel_motion_search(), SelectManagedListItem::select(), set_blocks(), MpegRecorder::SetOption(), DecoderBase::SetPositionMap(), LNBConfig::SetPreset(), SelectManagedListItem::setValue(), PlaybackBox::showRecGroupChooser(), MythFlixQueue::slotMoveToQueue(), MythFlixQueue::slotMoveToTop(), MythFlixQueue::slotRemoveFromQueue(), small_diamond_search(), store_table(), svq3_decode_mb(), truemotion1_decode_16bit(), truemotion1_decode_24bit(), tta_read_seek(), MythRemoteLineEdit::updateCycle(), DirectoryFinder::updateFileList(), MythFlixQueue::updateInfoView(), MythFlix::updateInfoView(), vc1_decode_ac_coeff(), vc1_decode_b_mb(), vc1_decode_p_mb(), vqa_decode_chunk(), while(), wma_decode_block(), write_packet(), wv_read_seek(), xan_wc3_output_pixel_run(), yuv420_rgb15(), yuv420_rgb16(), yuv420_rgb24(), and yuv420_rgb32().

Initial value:

 {
    "truemotion1",
    CODEC_TYPE_VIDEO,
    CODEC_ID_TRUEMOTION1,
    sizeof(TrueMotion1Context),
    truemotion1_decode_init,
    NULL,
    truemotion1_decode_end,
    truemotion1_decode_frame,
    CODEC_CAP_DR1,
}

Definition at line 892 of file truemotion1.c.


Generated on Sat Dec 18 05:15:56 2010 for MythTV by  doxygen 1.5.5