diff options
author | Thibault Saunier <thibault.saunier@collabora.com> | 2011-10-05 12:15:00 -0300 |
---|---|---|
committer | Thibault Saunier <thibault.saunier@collabora.com> | 2011-10-17 13:17:38 +0200 |
commit | fc09e451084be59f27f843457982714a619f8ab4 (patch) | |
tree | 406e42c6b80094ab21f5ee09eef66b5a7e51d511 /tests | |
parent | 446e0a521603d2bf1fd51147d027ef5470cd26de (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.c | 166 |
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); |