diff options
Diffstat (limited to 'contrib/ffmpeg/libavcodec/dvdsubenc.c')
-rw-r--r-- | contrib/ffmpeg/libavcodec/dvdsubenc.c | 42 |
1 files changed, 10 insertions, 32 deletions
diff --git a/contrib/ffmpeg/libavcodec/dvdsubenc.c b/contrib/ffmpeg/libavcodec/dvdsubenc.c index fac29acc2..77ea88c96 100644 --- a/contrib/ffmpeg/libavcodec/dvdsubenc.c +++ b/contrib/ffmpeg/libavcodec/dvdsubenc.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "avcodec.h" +#include "bytestream.h" #undef NDEBUG #include <assert.h> @@ -85,14 +86,6 @@ static void dvd_encode_rle(uint8_t **pq, *pq = q; } -static inline void putbe16(uint8_t **pq, uint16_t v) -{ - uint8_t *q = *pq; - *q++ = v >> 8; - *q++ = v; - *pq = q; -} - static int encode_dvd_subtitles(uint8_t *outbuf, int outbuf_size, const AVSubtitle *h) { @@ -163,11 +156,11 @@ static int encode_dvd_subtitles(uint8_t *outbuf, int outbuf_size, // set data packet size qq = outbuf + 2; - putbe16(&qq, q - outbuf); + bytestream_put_be16(&qq, q - outbuf); // send start display command - putbe16(&q, (h->start_display_time*90) >> 10); - putbe16(&q, (q - outbuf) /*- 2 */ + 8 + 12*rects + 2); + bytestream_put_be16(&q, (h->start_display_time*90) >> 10); + bytestream_put_be16(&q, (q - outbuf) /*- 2 */ + 8 + 12*rects + 2); *q++ = 0x03; // palette - 4 nibbles *q++ = 0x03; *q++ = 0x7f; *q++ = 0x04; // alpha - 4 nibbles @@ -192,35 +185,25 @@ static int encode_dvd_subtitles(uint8_t *outbuf, int outbuf_size, *q++ = 0x06; // offset1, offset2 - putbe16(&q, offset1[object_id]); - putbe16(&q, offset2[object_id]); + bytestream_put_be16(&q, offset1[object_id]); + bytestream_put_be16(&q, offset2[object_id]); } *q++ = 0x01; // start command *q++ = 0xff; // terminating command // send stop display command last - putbe16(&q, (h->end_display_time*90) >> 10); - putbe16(&q, (q - outbuf) - 2 /*+ 4*/); + bytestream_put_be16(&q, (h->end_display_time*90) >> 10); + bytestream_put_be16(&q, (q - outbuf) - 2 /*+ 4*/); *q++ = 0x02; // set end *q++ = 0xff; // terminating command qq = outbuf; - putbe16(&qq, q - outbuf); + bytestream_put_be16(&qq, q - outbuf); av_log(NULL, AV_LOG_DEBUG, "subtitle_packet size=%td\n", q - outbuf); return q - outbuf; } -static int dvdsub_init_encoder(AVCodecContext *avctx) -{ - return 0; -} - -static int dvdsub_close_encoder(AVCodecContext *avctx) -{ - return 0; -} - static int dvdsub_encode(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data) { @@ -237,11 +220,6 @@ AVCodec dvdsub_encoder = { CODEC_TYPE_SUBTITLE, CODEC_ID_DVD_SUBTITLE, 0, - dvdsub_init_encoder, + NULL, dvdsub_encode, - dvdsub_close_encoder, }; - -/* Local Variables: */ -/* c-basic-offset:4 */ -/* End: */ |