Mercurial > libavcodec.hg
comparison mpeg12.c @ 5038:fa59236be6af libavcodec
move imx_dump_header bitstream filter in its own file
author | aurel |
---|---|
date | Sat, 19 May 2007 00:44:41 +0000 |
parents | 3fa689636240 |
children | 4dbe6578f811 |
comparison
equal
deleted
inserted
replaced
5037:654e035bc755 | 5038:fa59236be6af |
---|---|
3352 .flush= ff_mpeg_flush, | 3352 .flush= ff_mpeg_flush, |
3353 }; | 3353 }; |
3354 | 3354 |
3355 #endif | 3355 #endif |
3356 | 3356 |
3357 #ifdef CONFIG_IMX_DUMP_HEADER_BSF | |
3358 static int imx_dump_header(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, | |
3359 uint8_t **poutbuf, int *poutbuf_size, | |
3360 const uint8_t *buf, int buf_size, int keyframe) | |
3361 { | |
3362 /* MXF essence element key */ | |
3363 static const uint8_t imx_header[16] = { 0x06,0x0e,0x2b,0x34,0x01,0x02,0x01,0x01,0x0d,0x01,0x03,0x01,0x05,0x01,0x01,0x00 }; | |
3364 uint8_t *poutbufp; | |
3365 | |
3366 if (avctx->codec_id != CODEC_ID_MPEG2VIDEO) { | |
3367 av_log(avctx, AV_LOG_ERROR, "imx bitstream filter only applies to mpeg2video codec\n"); | |
3368 return 0; | |
3369 } | |
3370 | |
3371 *poutbuf = av_malloc(buf_size + 20 + FF_INPUT_BUFFER_PADDING_SIZE); | |
3372 poutbufp = *poutbuf; | |
3373 bytestream_put_buffer(&poutbufp, imx_header, 16); | |
3374 bytestream_put_byte(&poutbufp, 0x83); /* KLV BER long form */ | |
3375 bytestream_put_be24(&poutbufp, buf_size); | |
3376 bytestream_put_buffer(&poutbufp, buf, buf_size); | |
3377 *poutbuf_size = poutbufp - *poutbuf; | |
3378 return 1; | |
3379 } | |
3380 | |
3381 AVBitStreamFilter imx_dump_header_bsf = { | |
3382 "imxdump", | |
3383 0, | |
3384 imx_dump_header, | |
3385 }; | |
3386 #endif | |
3387 | |
3388 /* this is ugly i know, but the alternative is too make | 3357 /* this is ugly i know, but the alternative is too make |
3389 hundreds of vars global and prefix them with ff_mpeg1_ | 3358 hundreds of vars global and prefix them with ff_mpeg1_ |
3390 which is far uglier. */ | 3359 which is far uglier. */ |
3391 #include "mdec.c" | 3360 #include "mdec.c" |