Skip to content

Commit aa861ea

Browse files
author
Philip de Nier
committed
Enable support for RDD 6 in RDD 9
1 parent 5e38a76 commit aa861ea

10 files changed

+107
-12
lines changed

apps/bmxtranswrap/bmxtranswrap.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@ static void usage(const char *cmd)
572572
printf(" Header and body partitions will be incomplete for as11op1a/op1a if the number if essence container bytes per edit unit is variable\n");
573573
printf(" --file-md5 Calculate an MD5 checksum of the output file. This requires writing in a single pass (--single-pass is assumed)\n");
574574
printf("\n");
575-
printf(" as11op1a/op1a:\n");
575+
printf(" as11op1a/op1a/rdd9:\n");
576576
printf(" --pass-anc <filter> Pass through ST 436 ANC data tracks\n");
577577
printf(" <filter> is a comma separated list of ANC data types to pass through\n");
578578
printf(" The following ANC data types are supported in <filter>:\n");
@@ -3042,8 +3042,8 @@ int main(int argc, const char** argv)
30423042
uint32_t rdd6_const_size = 0;
30433043
bool rdd6_pair_in_frame = true;
30443044
if (rdd6_filename) {
3045-
if (clip_type != CW_OP1A_CLIP_TYPE) {
3046-
log_error("RDD-6 file input only supported for op1a clip types and sub-types\n");
3045+
if (clip_type != CW_OP1A_CLIP_TYPE && clip_type != CW_RDD9_CLIP_TYPE) {
3046+
log_error("RDD-6 file input only supported for OP1a and RDD 9 clip types and sub-types\n");
30473047
throw false;
30483048
}
30493049

test/rdd6/.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
test1.xml.bin text eol=lf
22
test2.xml.bin text eol=lf
33
test3.xml.bin text eol=lf
4+
test4.xml.bin text eol=lf

test/rdd6/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ set(tests
66
rdd6_1
77
rdd6_2
88
rdd6_3
9+
rdd6_4
910
)
1011

1112
foreach(test ${tests})

test/rdd6/test4.md5

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2efd902a00036ce69278011650a2d6de

test/rdd6/test4.xml.bin

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<rdd6 xmlns="http://bbc.co.uk/rd/rdd6/201502">
3+
<first_subframe>
4+
<sync>
5+
<rev_id>0x00</rev_id>
6+
<orig_id>0x01</orig_id>
7+
<orig_addr>0x0000</orig_addr>
8+
<frame_count>3000</frame_count>
9+
</sync>
10+
<dolby_e_complete>
11+
<program_config>5.1</program_config>
12+
<frame_rate>25</frame_rate>
13+
<descr_text>
14+
<program>pr</program>
15+
</descr_text>
16+
</dolby_e_complete>
17+
<dolby_digital_complete_ext_bsi>
18+
<program_id>0</program_id>
19+
<ac_mode>3/2</ac_mode>
20+
<bs_mode>main_complete</bs_mode>
21+
<center_mix_level>-3.0</center_mix_level>
22+
<sur_mix_level>-3.0</sur_mix_level>
23+
<sur_encoded>false</sur_encoded>
24+
<lfe_on>true</lfe_on>
25+
<dialnorm>-23</dialnorm>
26+
<copyright>true</copyright>
27+
<orig_bs>true</orig_bs>
28+
<downmix_mode>lt_rt</downmix_mode>
29+
<lt_rt_center_mix>-3.0</lt_rt_center_mix>
30+
<lt_rt_sur_mix>-3.0</lt_rt_sur_mix>
31+
<lo_ro_center_mix>-3.0</lo_ro_center_mix>
32+
<lo_ro_sur_mix>-3.0</lo_ro_sur_mix>
33+
<ad_conv_type>standard</ad_conv_type>
34+
<hp_filter>true</hp_filter>
35+
<bw_lp_filter>true</bw_lp_filter>
36+
<lfe_lp_filter>true</lfe_lp_filter>
37+
<sur_90_filter>true</sur_90_filter>
38+
<sur_att_filter>true</sur_att_filter>
39+
<rf_preemph_filter>false</rf_preemph_filter>
40+
<compr_pf_1>film_standard</compr_pf_1>
41+
<dyn_range_pf_1>film_standard</dyn_range_pf_1>
42+
<dyn_range_pf_2>none</dyn_range_pf_2>
43+
<dyn_range_pf_3>none</dyn_range_pf_3>
44+
<dyn_range_pf_4>none</dyn_range_pf_4>
45+
</dolby_digital_complete_ext_bsi>
46+
</first_subframe>
47+
<second_subframe>
48+
<sync>
49+
<rev_id>0x00</rev_id>
50+
<orig_id>0x01</orig_id>
51+
<orig_addr>0x0000</orig_addr>
52+
<frame_count>3000</frame_count>
53+
</sync>
54+
<dolby_e_essential>
55+
<program_config>5.1</program_config>
56+
<frame_rate>25</frame_rate>
57+
</dolby_e_essential>
58+
<dolby_digital_essential_ext_bsi>
59+
<program_id>0</program_id>
60+
<ac_mode>3/2</ac_mode>
61+
<bs_mode>main_complete</bs_mode>
62+
<lfe_on>true</lfe_on>
63+
<dialnorm>-23</dialnorm>
64+
<compr_pf_2>film_standard</compr_pf_2>
65+
<dyn_range_pf_5>film_standard</dyn_range_pf_5>
66+
<dyn_range_pf_6>none</dyn_range_pf_6>
67+
<dyn_range_pf_7>none</dyn_range_pf_7>
68+
<dyn_range_pf_8>none</dyn_range_pf_8>
69+
</dolby_digital_essential_ext_bsi>
70+
</second_subframe>
71+
</rdd6>

test/rdd6/test_common.cmake

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ else()
1515
endif()
1616

1717

18-
function(run_test rate video_type rdd6_lines rdd6_sdid)
18+
function(run_test output_type rate video_type rdd6_lines rdd6_sdid)
1919
set(create_command_1 ${RAW2BMX}
2020
--regtest
21-
-t op1a
21+
-t ${output_type}
2222
-f ${rate}
2323
-o test_intermediate_${test_name}.mxf
2424
--${video_type} video_${test_name}
@@ -34,7 +34,7 @@ function(run_test rate video_type rdd6_lines rdd6_sdid)
3434

3535
set(create_command_2 ${BMXTRANSWRAP}
3636
--regtest
37-
-t op1a
37+
-t ${output_type}
3838
-o ${output_file}
3939
--rdd6 ${TEST_SOURCE_DIR}/test${test_name}.xml.bin
4040
--rdd6-lines ${rdd6_lines}

test/rdd6/test_rdd6_1.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Test creating an MXF file with RDD6 from test1.xml and interlaced video.
1+
# Test creating an MXF OP1a file with RDD 6 from test1.xml and interlaced video.
22

33
set(test_name 1)
44
include("${TEST_SOURCE_DIR}/test_common.cmake")
@@ -18,4 +18,4 @@ set(create_test_video ${CREATE_TEST_ESSENCE}
1818
video_${test_name}
1919
)
2020

21-
run_test(25 avci100_1080i "9,572" 4)
21+
run_test(op1a 25 avci100_1080i "9,572" 4)

test/rdd6/test_rdd6_2.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Test creating an MXF file with RDD6 from test2.xml and interlaced video.
1+
# Test creating an MXF OP1a file with RDD 6 from test2.xml and interlaced video.
22

33
set(test_name 2)
44
include("${TEST_SOURCE_DIR}/test_common.cmake")
@@ -18,4 +18,4 @@ set(create_test_video ${CREATE_TEST_ESSENCE}
1818
video_${test_name}
1919
)
2020

21-
run_test(25 avci100_1080i "9,572" 4)
21+
run_test(op1a 25 avci100_1080i "9,572" 4)

test/rdd6/test_rdd6_3.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Test creating an MXF file with RDD6 from test3.xml on line 0 and progressive video.
1+
# Test creating an MXF OP1a file with RDD 6 from test3.xml on line 0 and progressive video.
22

33
set(test_name 3)
44
include("${TEST_SOURCE_DIR}/test_common.cmake")
@@ -18,4 +18,4 @@ set(create_test_video ${CREATE_TEST_ESSENCE}
1818
video_${test_name}
1919
)
2020

21-
run_test(50 unc_3840 "0" 4)
21+
run_test(op1a 50 unc_3840 "0" 4)

test/rdd6/test_rdd6_4.cmake

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Test creating an MXF RDD 9 file with RDD 6 from test1.xml and interlaced video.
2+
3+
set(test_name 4)
4+
include("${TEST_SOURCE_DIR}/test_common.cmake")
5+
6+
7+
# 24-bit PCM
8+
set(create_test_audio ${CREATE_TEST_ESSENCE}
9+
-t 42
10+
-d 24
11+
audio_${test_name}
12+
)
13+
14+
# MPEG-2 LG
15+
set(create_test_video ${CREATE_TEST_ESSENCE}
16+
-t 14
17+
-d 24
18+
video_${test_name}
19+
)
20+
21+
run_test(rdd9 25 mpeg2lg_422p_hl_1080i "9,572" 4)

0 commit comments

Comments
 (0)