summaryrefslogtreecommitdiff
path: root/src/libmpeg2new/libmpeg2
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmpeg2new/libmpeg2')
-rw-r--r--src/libmpeg2new/libmpeg2/decode.c2
-rw-r--r--src/libmpeg2new/libmpeg2/header.c20
2 files changed, 22 insertions, 0 deletions
diff --git a/src/libmpeg2new/libmpeg2/decode.c b/src/libmpeg2new/libmpeg2/decode.c
index 640861b5c..7d096c835 100644
--- a/src/libmpeg2new/libmpeg2/decode.c
+++ b/src/libmpeg2new/libmpeg2/decode.c
@@ -233,6 +233,8 @@ mpeg2_state_t mpeg2_parse (mpeg2dec_t * mpeg2dec)
case 0xb8:
mpeg2dec->action = mpeg2_parse_header;
break;
+ case 0xb2:
+ printf("libmpeg2:USER DATA for CC\n");
default:
mpeg2dec->action = seek_chunk;
return STATE_INVALID;
diff --git a/src/libmpeg2new/libmpeg2/header.c b/src/libmpeg2new/libmpeg2/header.c
index 3c47119be..c0910505f 100644
--- a/src/libmpeg2new/libmpeg2/header.c
+++ b/src/libmpeg2new/libmpeg2/header.c
@@ -726,6 +726,26 @@ mpeg2_state_t mpeg2_header_end_btype (mpeg2dec_t * mpeg2dec)
mpeg2dec->action = mpeg2_header_end_btype2;
return STATE_SLICE;
}
+
+mpeg2_state_t mpeg2_reset (mpeg2dec_t * mpeg2dec)
+{
+ mpeg2dec->info.display_fbuf = mpeg2dec->fbuf[0];
+ mpeg2dec->info.discard_fbuf = mpeg2dec->fbuf[0];
+ mpeg2dec->fbuf[0]=0;
+ mpeg2dec->action = mpeg2_header_end_btype;
+ mpeg2dec->shift = 0xffffff00;
+ mpeg2dec->code = 0xb4;
+ mpeg2dec->first_decode_slice = 1;
+ mpeg2dec->nb_decode_slices = 0xb0 - 1;
+ mpeg2dec->decoder.scan = mpeg2_scan_norm;
+ mpeg2dec->picture = mpeg2dec->pictures;
+ mpeg2dec->first = 1;
+ mpeg2dec->alloc_index = 0;
+ mpeg2dec->alloc_index_user = 0;
+
+ return STATE_SLICE;
+}
+
mpeg2_state_t mpeg2_header_end_itype2 (mpeg2dec_t * mpeg2dec)
{
mpeg2dec->info.display_fbuf = 0;