@ -20,11 +20,9 @@
* Foundation , Inc . , 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 USA
*/
# include "libavutil/reverse.h"
# include "avcodec.h"
# include "codec_internal.h"
# include "encode.h"
# include "mathops.h"
# define ANSI_MIN_READLINE 509
@ -57,14 +55,25 @@ static int xbm_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
buf + = snprintf ( buf , 39 , " static unsigned char image_bits[] = { \n " ) ;
for ( i = 0 , l = lineout ; i < avctx - > height ; i + + ) {
for ( j = 0 ; j < linesize ; j + + ) {
buf + = snprintf ( buf , 6 , " 0x%02X " , ff_reverse [ * ptr + + ] ) ;
// 0..15 bitreversed as chars
static const char lut [ ] = {
' 0 ' , ' 8 ' , ' 4 ' , ' C ' , ' 2 ' , ' A ' , ' 6 ' , ' E ' ,
' 1 ' , ' 9 ' , ' 5 ' , ' D ' , ' 3 ' , ' B ' , ' 7 ' , ' F '
} ;
buf [ 0 ] = ' ' ;
buf [ 1 ] = ' 0 ' ;
buf [ 2 ] = ' x ' ;
buf [ 3 ] = lut [ * ptr & 0xF ] ;
buf [ 4 ] = lut [ * ptr > > 4 ] ;
buf + = 5 ;
ptr + + ;
if ( - - commas < = 0 ) {
buf + = snprintf ( buf , 2 , " \n " ) ;
* buf + + = ' \n ' ;
break ;
}
buf + = snprintf ( buf , 2 , " , " ) ;
* buf + + = ' , ' ;
if ( - - l < = 0 ) {
buf + = snprintf ( buf , 2 , " \n " ) ;
* buf + + = ' \n ' ;
l = lineout ;
}
}