summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@collabora.com>2011-10-05 12:15:00 -0300
committerThibault Saunier <thibault.saunier@collabora.com>2011-10-17 13:17:38 +0200
commitfc09e451084be59f27f843457982714a619f8ab4 (patch)
tree406e42c6b80094ab21f5ee09eef66b5a7e51d511 /tests
parent446e0a521603d2bf1fd51147d027ef5470cd26de (diff)
codecparsers: VC1: Implement Sequence Layer Data Structures
Instead of having a single VC1SequenceHeader structure, use the 3 structs from the "Table 265: Sequence Layer Data Structure" of the specification for the library to be more flexible. Implement the functions to parse them
Diffstat (limited to 'tests')
-rw-r--r--tests/check/libs/vc1parser.c166
1 files changed, 83 insertions, 83 deletions
diff --git a/tests/check/libs/vc1parser.c b/tests/check/libs/vc1parser.c
index 1fd9e39a6..0553efc3f 100644
--- a/tests/check/libs/vc1parser.c
+++ b/tests/check/libs/vc1parser.c
@@ -799,10 +799,10 @@ GST_START_TEST (test_vc1_identify_bdu)
res = gst_vc1_parse_sequence_header (bdu.data + bdu.offset, bdu.size, &hdr);
assert_equals_int (res, GST_VC1_PARSER_OK);
- assert_equals_int (hdr.profiletype, GST_VC1_PROFILE_ADVANCED);
+ assert_equals_int (hdr.profile, GST_VC1_PROFILE_ADVANCED);
- assert_equals_int (hdr.profile.advanced.level, GST_VC1_LEVEL_L1);
- assert_equals_int (hdr.colordiff_format, 1);
+ assert_equals_int (hdr.advanced.level, GST_VC1_LEVEL_L1);
+ assert_equals_int (hdr.advanced.colordiff_format, 1);
res = gst_vc1_identify_next_bdu (sequence_fullframe + bdu.sc_offset +
bdu.size, sizeof (sequence_fullframe) - bdu.sc_offset - bdu.size, &bdu);
@@ -822,29 +822,29 @@ GST_START_TEST (test_vc1_parse_p_frame_header_main)
GstVC1FrameHdr framehdr;
GstVC1SeqHdr seqhdr;
- GstVC1SimpleMainSeqHdr *simplehdr = &seqhdr.profile.simplemain;
+ GstVC1SeqStructC *structc = &seqhdr.struct_c;
GstVC1PicSimpleMain *pic = &framehdr.pic.simple;
- simplehdr->coded_height = 240;
- simplehdr->coded_width = 320;
+ structc->coded_height = 240;
+ structc->coded_width = 320;
assert_equals_int (gst_vc1_parse_sequence_header (pframe_header_main,
sizeof (pframe_header_main), &seqhdr), GST_VC1_PARSER_OK);
- assert_equals_int (seqhdr.profiletype, GST_VC1_PROFILE_MAIN);
-
- assert_equals_int (seqhdr.frmrtq_postproc, 7);
- assert_equals_int (seqhdr.bitrtq_postproc, 2);
- assert_equals_int (simplehdr->loop_filter, 1);
- assert_equals_int (simplehdr->multires, 0);
- assert_equals_int (simplehdr->extended_mv, 0);
- assert_equals_int (simplehdr->rangered, 0);
- assert_equals_int (simplehdr->vstransform, 1);
- assert_equals_int (simplehdr->overlap, 1);
- assert_equals_int (simplehdr->syncmarker, 0);
- assert_equals_int (simplehdr->dquant, 1);
- assert_equals_int (simplehdr->quantizer, 0);
- assert_equals_int (simplehdr->maxbframes, 1);
+ assert_equals_int (seqhdr.profile, GST_VC1_PROFILE_MAIN);
+
+ assert_equals_int (structc->frmrtq_postproc, 7);
+ assert_equals_int (structc->bitrtq_postproc, 2);
+ assert_equals_int (structc->loop_filter, 1);
+ assert_equals_int (structc->multires, 0);
+ assert_equals_int (structc->extended_mv, 0);
+ assert_equals_int (structc->rangered, 0);
+ assert_equals_int (structc->vstransform, 1);
+ assert_equals_int (structc->overlap, 1);
+ assert_equals_int (structc->syncmarker, 0);
+ assert_equals_int (structc->dquant, 1);
+ assert_equals_int (structc->quantizer, 0);
+ assert_equals_int (structc->maxbframes, 1);
assert_equals_int (gst_vc1_parse_frame_header (pframe_main,
sizeof (pframe_main), &framehdr, &seqhdr), GST_VC1_PARSER_OK);
@@ -866,31 +866,31 @@ GST_START_TEST (test_vc1_parse_b_frame_header_main)
GstVC1FrameHdr framehdr;
GstVC1SeqHdr seqhdr;
- GstVC1SimpleMainSeqHdr *simplehdr = &seqhdr.profile.simplemain;
+ GstVC1SeqStructC *structc = &seqhdr.struct_c;
GstVC1PicSimpleMain *pic = &framehdr.pic.simple;
- simplehdr->coded_height = 240;
- simplehdr->coded_width = 320;
+ structc->coded_height = 240;
+ structc->coded_width = 320;
assert_equals_int (gst_vc1_parse_sequence_header (bframe_header_main,
sizeof (bframe_header_main), &seqhdr), GST_VC1_PARSER_OK);
- assert_equals_int (seqhdr.profiletype, GST_VC1_PROFILE_MAIN);
+ assert_equals_int (seqhdr.profile, GST_VC1_PROFILE_MAIN);
assert_equals_int (seqhdr.mb_height, 15);
assert_equals_int (seqhdr.mb_width, 20);
- assert_equals_int (seqhdr.frmrtq_postproc, 7);
- assert_equals_int (seqhdr.bitrtq_postproc, 3);
- assert_equals_int (simplehdr->loop_filter, 1);
- assert_equals_int (simplehdr->multires, 0);
- assert_equals_int (simplehdr->extended_mv, 0);
- assert_equals_int (simplehdr->rangered, 0);
- assert_equals_int (simplehdr->vstransform, 1);
- assert_equals_int (simplehdr->overlap, 1);
- assert_equals_int (simplehdr->syncmarker, 0);
- assert_equals_int (simplehdr->dquant, 1);
- assert_equals_int (simplehdr->quantizer, 0);
- assert_equals_int (simplehdr->maxbframes, 1);
+ assert_equals_int (structc->frmrtq_postproc, 7);
+ assert_equals_int (structc->bitrtq_postproc, 3);
+ assert_equals_int (structc->loop_filter, 1);
+ assert_equals_int (structc->multires, 0);
+ assert_equals_int (structc->extended_mv, 0);
+ assert_equals_int (structc->rangered, 0);
+ assert_equals_int (structc->vstransform, 1);
+ assert_equals_int (structc->overlap, 1);
+ assert_equals_int (structc->syncmarker, 0);
+ assert_equals_int (structc->dquant, 1);
+ assert_equals_int (structc->quantizer, 0);
+ assert_equals_int (structc->maxbframes, 1);
assert_equals_int (gst_vc1_parse_frame_header (bframe_main,
sizeof (bframe_main), &framehdr, &seqhdr), GST_VC1_PARSER_OK);
@@ -915,28 +915,28 @@ GST_START_TEST (test_vc1_parse_bi_frame_header_main)
GstVC1FrameHdr framehdr;
GstVC1SeqHdr seqhdr;
- GstVC1SimpleMainSeqHdr *simplehdr = &seqhdr.profile.simplemain;
+ GstVC1SeqStructC *structc = &seqhdr.struct_c;
GstVC1PicSimpleMain *pic = &framehdr.pic.simple;
- simplehdr->coded_height = 240;
- simplehdr->coded_width = 320;
+ structc->coded_height = 240;
+ structc->coded_width = 320;
assert_equals_int (gst_vc1_parse_sequence_header (i_bi_frame_header,
sizeof (i_bi_frame_header), &seqhdr), GST_VC1_PARSER_OK);
- assert_equals_int (seqhdr.profiletype, GST_VC1_PROFILE_MAIN);
- assert_equals_int (seqhdr.frmrtq_postproc, 7);
- assert_equals_int (seqhdr.bitrtq_postproc, 7);
- assert_equals_int (simplehdr->loop_filter, 1);
- assert_equals_int (simplehdr->multires, 0);
- assert_equals_int (simplehdr->extended_mv, 0);
- assert_equals_int (simplehdr->rangered, 0);
- assert_equals_int (simplehdr->vstransform, 1);
- assert_equals_int (simplehdr->overlap, 1);
- assert_equals_int (simplehdr->syncmarker, 0);
- assert_equals_int (simplehdr->dquant, 1);
- assert_equals_int (simplehdr->quantizer, 0);
- assert_equals_int (simplehdr->maxbframes, 1);
+ assert_equals_int (seqhdr.profile, GST_VC1_PROFILE_MAIN);
+ assert_equals_int (structc->frmrtq_postproc, 7);
+ assert_equals_int (structc->bitrtq_postproc, 7);
+ assert_equals_int (structc->loop_filter, 1);
+ assert_equals_int (structc->multires, 0);
+ assert_equals_int (structc->extended_mv, 0);
+ assert_equals_int (structc->rangered, 0);
+ assert_equals_int (structc->vstransform, 1);
+ assert_equals_int (structc->overlap, 1);
+ assert_equals_int (structc->syncmarker, 0);
+ assert_equals_int (structc->dquant, 1);
+ assert_equals_int (structc->quantizer, 0);
+ assert_equals_int (structc->maxbframes, 1);
assert_equals_int (gst_vc1_parse_frame_header (biframe_main,
sizeof (biframe_main), &framehdr, &seqhdr), GST_VC1_PARSER_OK);
@@ -958,28 +958,28 @@ GST_START_TEST (test_vc1_parse_i_frame_header_main)
GstVC1FrameHdr framehdr;
GstVC1SeqHdr seqhdr;
- GstVC1SimpleMainSeqHdr *simplehdr = &seqhdr.profile.simplemain;
+ GstVC1SeqStructC *structc = &seqhdr.struct_c;
GstVC1PicSimpleMain *pic = &framehdr.pic.simple;
- simplehdr->coded_height = 240;
- simplehdr->coded_width = 320;
+ structc->coded_height = 240;
+ structc->coded_width = 320;
assert_equals_int (gst_vc1_parse_sequence_header (i_bi_frame_header,
sizeof (i_bi_frame_header), &seqhdr), GST_VC1_PARSER_OK);
- assert_equals_int (seqhdr.profiletype, GST_VC1_PROFILE_MAIN);
- assert_equals_int (seqhdr.frmrtq_postproc, 7);
- assert_equals_int (seqhdr.bitrtq_postproc, 7);
- assert_equals_int (simplehdr->loop_filter, 1);
- assert_equals_int (simplehdr->multires, 0);
- assert_equals_int (simplehdr->extended_mv, 0);
- assert_equals_int (simplehdr->rangered, 0);
- assert_equals_int (simplehdr->vstransform, 1);
- assert_equals_int (simplehdr->overlap, 1);
- assert_equals_int (simplehdr->syncmarker, 0);
- assert_equals_int (simplehdr->dquant, 1);
- assert_equals_int (simplehdr->quantizer, 0);
- assert_equals_int (simplehdr->maxbframes, 1);
+ assert_equals_int (seqhdr.profile, GST_VC1_PROFILE_MAIN);
+ assert_equals_int (structc->frmrtq_postproc, 7);
+ assert_equals_int (structc->bitrtq_postproc, 7);
+ assert_equals_int (structc->loop_filter, 1);
+ assert_equals_int (structc->multires, 0);
+ assert_equals_int (structc->extended_mv, 0);
+ assert_equals_int (structc->rangered, 0);
+ assert_equals_int (structc->vstransform, 1);
+ assert_equals_int (structc->overlap, 1);
+ assert_equals_int (structc->syncmarker, 0);
+ assert_equals_int (structc->dquant, 1);
+ assert_equals_int (structc->quantizer, 0);
+ assert_equals_int (structc->maxbframes, 1);
assert_equals_int (gst_vc1_parse_frame_header (iframe_main,
sizeof (iframe_main), &framehdr, &seqhdr), GST_VC1_PARSER_OK);
@@ -1001,23 +1001,23 @@ GST_START_TEST (test_vc1_parse_i_frame_header_adv)
GstVC1FrameHdr framehdr;
GstVC1SeqHdr seqhdr;
- GstVC1AdvancedSeqHdr *advhdr = &seqhdr.profile.advanced;
+ GstVC1AdvancedSeqHdr *advhdr = &seqhdr.advanced;
GstVC1EntryPointHdr *entrypt = &advhdr->entrypoint;
GstVC1PicAdvanced *pic = &framehdr.pic.advanced;
assert_equals_int (gst_vc1_parse_sequence_header (iframe_adv_hdr,
sizeof (iframe_adv_hdr), &seqhdr), GST_VC1_PARSER_OK);
- assert_equals_int (seqhdr.profiletype, GST_VC1_PROFILE_ADVANCED);
+ assert_equals_int (seqhdr.profile, GST_VC1_PROFILE_ADVANCED);
assert_equals_int (advhdr->level, GST_VC1_LEVEL_L3);
- assert_equals_int (seqhdr.frmrtq_postproc, 7);
- assert_equals_int (seqhdr.bitrtq_postproc, 31);
+ assert_equals_int (advhdr->frmrtq_postproc, 7);
+ assert_equals_int (advhdr->bitrtq_postproc, 31);
assert_equals_int (advhdr->postprocflag, 0);
assert_equals_int (advhdr->max_coded_width, 1920);
assert_equals_int (advhdr->max_coded_height, 1080);
assert_equals_int (advhdr->interlace, 1);
assert_equals_int (advhdr->tfcntrflag, 0);
- assert_equals_int (seqhdr.finterpflag, 0);
+ assert_equals_int (advhdr->finterpflag, 0);
assert_equals_int (advhdr->display_ext, 1);
assert_equals_int (advhdr->disp_horiz_size, 1920);
@@ -1062,23 +1062,23 @@ GST_START_TEST (test_vc1_parse_b_frame_header_adv)
GstVC1FrameHdr framehdr;
GstVC1SeqHdr seqhdr;
- GstVC1AdvancedSeqHdr *advhdr = &seqhdr.profile.advanced;
+ GstVC1AdvancedSeqHdr *advhdr = &seqhdr.advanced;
GstVC1EntryPointHdr *entrypt = &advhdr->entrypoint;
GstVC1PicAdvanced *pic = &framehdr.pic.advanced;
assert_equals_int (gst_vc1_parse_sequence_header (iframe_adv_hdr,
sizeof (iframe_adv_hdr), &seqhdr), GST_VC1_PARSER_OK);
- assert_equals_int (seqhdr.profiletype, GST_VC1_PROFILE_ADVANCED);
+ assert_equals_int (seqhdr.profile, GST_VC1_PROFILE_ADVANCED);
assert_equals_int (advhdr->level, GST_VC1_LEVEL_L3);
- assert_equals_int (seqhdr.frmrtq_postproc, 7);
- assert_equals_int (seqhdr.bitrtq_postproc, 31);
+ assert_equals_int (advhdr->frmrtq_postproc, 7);
+ assert_equals_int (advhdr->bitrtq_postproc, 31);
assert_equals_int (advhdr->postprocflag, 0);
assert_equals_int (advhdr->max_coded_width, 1920);
assert_equals_int (advhdr->max_coded_height, 1080);
assert_equals_int (advhdr->interlace, 1);
assert_equals_int (advhdr->tfcntrflag, 0);
- assert_equals_int (seqhdr.finterpflag, 0);
+ assert_equals_int (advhdr->finterpflag, 0);
assert_equals_int (advhdr->display_ext, 1);
assert_equals_int (advhdr->disp_horiz_size, 1920);
@@ -1132,23 +1132,23 @@ GST_START_TEST (test_vc1_parse_p_frame_header_adv)
GstVC1FrameHdr framehdr;
GstVC1SeqHdr seqhdr;
- GstVC1AdvancedSeqHdr *advhdr = &seqhdr.profile.advanced;
+ GstVC1AdvancedSeqHdr *advhdr = &seqhdr.advanced;
GstVC1EntryPointHdr *entrypt = &advhdr->entrypoint;
GstVC1PicAdvanced *pic = &framehdr.pic.advanced;
assert_equals_int (gst_vc1_parse_sequence_header (iframe_adv_hdr,
sizeof (iframe_adv_hdr), &seqhdr), GST_VC1_PARSER_OK);
- assert_equals_int (seqhdr.profiletype, GST_VC1_PROFILE_ADVANCED);
+ assert_equals_int (seqhdr.profile, GST_VC1_PROFILE_ADVANCED);
assert_equals_int (advhdr->level, GST_VC1_LEVEL_L3);
- assert_equals_int (seqhdr.frmrtq_postproc, 7);
- assert_equals_int (seqhdr.bitrtq_postproc, 31);
+ assert_equals_int (advhdr->frmrtq_postproc, 7);
+ assert_equals_int (advhdr->bitrtq_postproc, 31);
assert_equals_int (advhdr->postprocflag, 0);
assert_equals_int (advhdr->max_coded_width, 1920);
assert_equals_int (advhdr->max_coded_height, 1080);
assert_equals_int (advhdr->interlace, 1);
assert_equals_int (advhdr->tfcntrflag, 0);
- assert_equals_int (seqhdr.finterpflag, 0);
+ assert_equals_int (advhdr->finterpflag, 0);
assert_equals_int (advhdr->display_ext, 1);
assert_equals_int (advhdr->disp_horiz_size, 1920);