Mercurial > pt1
view recpt1/decoder.c @ 2:8ac7c59fefc9
added b25 decode functionality
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 16 Feb 2009 21:40:16 +0900 |
parents | |
children | 43d177fa65c9 |
line wrap: on
line source
#include <stdlib.h> #include "decoder.h" decoder * b25_startup(void) { decoder *dec = calloc(1, sizeof(decoder)); int code; dec->b25 = create_arib_std_b25(); dec->b25->set_multi2_round(dec->b25, 4); //xxx round should be configurable dec->b25->set_strip(dec->b25, 0); //ditto dec->b25->set_emm_proc(dec->b25, 0); //ditto dec->bcas = create_b_cas_card(); code = dec->bcas->init(dec->bcas); code = dec->b25->set_b_cas_card(dec->b25, dec->bcas); return dec; } int b25_shutdown(decoder *dec) { dec->b25->release(dec->b25); dec->bcas->release(dec->bcas); free(dec); return 0; } int b25_decode(decoder *dec, ARIB_STD_B25_BUFFER *sbuf, ARIB_STD_B25_BUFFER *dbuf) { int code; code = dec->b25->put(dec->b25, sbuf); if(code < 0) return code; code = dec->b25->get(dec->b25, dbuf); return code; } int b25_finish(decoder *dec, ARIB_STD_B25_BUFFER *sbuf, ARIB_STD_B25_BUFFER *dbuf) { int code; code = dec->b25->flush(dec->b25); if(code < 0) return code; code = dec->b25->get(dec->b25, dbuf); return code; }