comparison dvbsubdec.c @ 6218:dfdff1ca78a7 libavcodec

consts I have underestimated this a little, and these are just some ...
author michael
date Fri, 01 Feb 2008 03:26:31 +0000
parents 1900b70712ab
children 48759bfbd073
comparison
equal deleted inserted replaced
6217:f838213ca91b 6218:dfdff1ca78a7
427 427
428 return 0; 428 return 0;
429 } 429 }
430 430
431 static int dvbsub_read_2bit_string(uint8_t *destbuf, int dbuf_len, 431 static int dvbsub_read_2bit_string(uint8_t *destbuf, int dbuf_len,
432 uint8_t **srcbuf, int buf_size, 432 const uint8_t **srcbuf, int buf_size,
433 int non_mod, uint8_t *map_table) 433 int non_mod, uint8_t *map_table)
434 { 434 {
435 GetBitContext gb; 435 GetBitContext gb;
436 436
437 int bits; 437 int bits;
532 532
533 return pixels_read; 533 return pixels_read;
534 } 534 }
535 535
536 static int dvbsub_read_4bit_string(uint8_t *destbuf, int dbuf_len, 536 static int dvbsub_read_4bit_string(uint8_t *destbuf, int dbuf_len,
537 uint8_t **srcbuf, int buf_size, 537 const uint8_t **srcbuf, int buf_size,
538 int non_mod, uint8_t *map_table) 538 int non_mod, uint8_t *map_table)
539 { 539 {
540 GetBitContext gb; 540 GetBitContext gb;
541 541
542 int bits; 542 int bits;
653 653
654 return pixels_read; 654 return pixels_read;
655 } 655 }
656 656
657 static int dvbsub_read_8bit_string(uint8_t *destbuf, int dbuf_len, 657 static int dvbsub_read_8bit_string(uint8_t *destbuf, int dbuf_len,
658 uint8_t **srcbuf, int buf_size, 658 const uint8_t **srcbuf, int buf_size,
659 int non_mod, uint8_t *map_table) 659 int non_mod, uint8_t *map_table)
660 { 660 {
661 uint8_t *sbuf_end = (*srcbuf) + buf_size; 661 const uint8_t *sbuf_end = (*srcbuf) + buf_size;
662 int bits; 662 int bits;
663 int run_length; 663 int run_length;
664 int pixels_read = 0; 664 int pixels_read = 0;
665 665
666 while (*srcbuf < sbuf_end && pixels_read < dbuf_len) { 666 while (*srcbuf < sbuf_end && pixels_read < dbuf_len) {
712 } 712 }
713 713
714 714
715 715
716 static void dvbsub_parse_pixel_data_block(AVCodecContext *avctx, DVBSubObjectDisplay *display, 716 static void dvbsub_parse_pixel_data_block(AVCodecContext *avctx, DVBSubObjectDisplay *display,
717 uint8_t *buf, int buf_size, int top_bottom, int non_mod) 717 const uint8_t *buf, int buf_size, int top_bottom, int non_mod)
718 { 718 {
719 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; 719 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
720 720
721 DVBSubRegion *region = get_region(ctx, display->region_id); 721 DVBSubRegion *region = get_region(ctx, display->region_id);
722 uint8_t *buf_end = buf + buf_size; 722 const uint8_t *buf_end = buf + buf_size;
723 uint8_t *pbuf; 723 uint8_t *pbuf;
724 int x_pos, y_pos; 724 int x_pos, y_pos;
725 int i; 725 int i;
726 726
727 uint8_t map2to4[] = { 0x0, 0x7, 0x8, 0xf}; 727 uint8_t map2to4[] = { 0x0, 0x7, 0x8, 0xf};
831 } 831 }
832 832
833 } 833 }
834 834
835 static void dvbsub_parse_object_segment(AVCodecContext *avctx, 835 static void dvbsub_parse_object_segment(AVCodecContext *avctx,
836 uint8_t *buf, int buf_size) 836 const uint8_t *buf, int buf_size)
837 { 837 {
838 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; 838 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
839 839
840 uint8_t *buf_end = buf + buf_size; 840 const uint8_t *buf_end = buf + buf_size;
841 uint8_t *block; 841 const uint8_t *block;
842 int object_id; 842 int object_id;
843 DVBSubObject *object; 843 DVBSubObject *object;
844 DVBSubObjectDisplay *display; 844 DVBSubObjectDisplay *display;
845 int top_field_len, bottom_field_len; 845 int top_field_len, bottom_field_len;
846 846
890 } 890 }
891 891
892 } 892 }
893 893
894 static void dvbsub_parse_clut_segment(AVCodecContext *avctx, 894 static void dvbsub_parse_clut_segment(AVCodecContext *avctx,
895 uint8_t *buf, int buf_size) 895 const uint8_t *buf, int buf_size)
896 { 896 {
897 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; 897 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
898 898
899 uint8_t *buf_end = buf + buf_size; 899 const uint8_t *buf_end = buf + buf_size;
900 int clut_id; 900 int clut_id;
901 DVBSubCLUT *clut; 901 DVBSubCLUT *clut;
902 int entry_id, depth , full_range; 902 int entry_id, depth , full_range;
903 int y, cr, cb, alpha; 903 int y, cr, cb, alpha;
904 int r, g, b, r_add, g_add, b_add; 904 int r, g, b, r_add, g_add, b_add;
980 } 980 }
981 } 981 }
982 982
983 983
984 static void dvbsub_parse_region_segment(AVCodecContext *avctx, 984 static void dvbsub_parse_region_segment(AVCodecContext *avctx,
985 uint8_t *buf, int buf_size) 985 const uint8_t *buf, int buf_size)
986 { 986 {
987 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; 987 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
988 988
989 uint8_t *buf_end = buf + buf_size; 989 const uint8_t *buf_end = buf + buf_size;
990 int region_id, object_id; 990 int region_id, object_id;
991 DVBSubRegion *region; 991 DVBSubRegion *region;
992 DVBSubObject *object; 992 DVBSubObject *object;
993 DVBSubObjectDisplay *display; 993 DVBSubObjectDisplay *display;
994 int fill; 994 int fill;
1096 object->display_list = display; 1096 object->display_list = display;
1097 } 1097 }
1098 } 1098 }
1099 1099
1100 static void dvbsub_parse_page_segment(AVCodecContext *avctx, 1100 static void dvbsub_parse_page_segment(AVCodecContext *avctx,
1101 uint8_t *buf, int buf_size) 1101 const uint8_t *buf, int buf_size)
1102 { 1102 {
1103 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; 1103 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
1104 DVBSubRegionDisplay *display; 1104 DVBSubRegionDisplay *display;
1105 DVBSubRegionDisplay *tmp_display_list, **tmp_ptr; 1105 DVBSubRegionDisplay *tmp_display_list, **tmp_ptr;
1106 1106
1107 uint8_t *buf_end = buf + buf_size; 1107 const uint8_t *buf_end = buf + buf_size;
1108 int region_id; 1108 int region_id;
1109 int page_state; 1109 int page_state;
1110 1110
1111 if (buf_size < 1) 1111 if (buf_size < 1)
1112 return; 1112 return;
1263 1263
1264 fileno_index++; 1264 fileno_index++;
1265 } 1265 }
1266 #endif 1266 #endif
1267 1267
1268 static int dvbsub_display_end_segment(AVCodecContext *avctx, uint8_t *buf, 1268 static int dvbsub_display_end_segment(AVCodecContext *avctx, const uint8_t *buf,
1269 int buf_size, AVSubtitle *sub) 1269 int buf_size, AVSubtitle *sub)
1270 { 1270 {
1271 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; 1271 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
1272 1272
1273 DVBSubRegion *region; 1273 DVBSubRegion *region;
1339 return 1; 1339 return 1;
1340 } 1340 }
1341 1341
1342 static int dvbsub_decode(AVCodecContext *avctx, 1342 static int dvbsub_decode(AVCodecContext *avctx,
1343 void *data, int *data_size, 1343 void *data, int *data_size,
1344 uint8_t *buf, int buf_size) 1344 const uint8_t *buf, int buf_size)
1345 { 1345 {
1346 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data; 1346 DVBSubContext *ctx = (DVBSubContext*) avctx->priv_data;
1347 AVSubtitle *sub = (AVSubtitle*) data; 1347 AVSubtitle *sub = (AVSubtitle*) data;
1348 uint8_t *p, *p_end; 1348 const uint8_t *p, *p_end;
1349 int segment_type; 1349 int segment_type;
1350 int page_id; 1350 int page_id;
1351 int segment_length; 1351 int segment_length;
1352 1352
1353 #ifdef DEBUG_PACKET_CONTENTS 1353 #ifdef DEBUG_PACKET_CONTENTS