bitbit
28th December 2007, 11:41
Hi,
I want to try my hand at writing an AVC decoder DirectShow filter for viewing high resolution content. I have finished the CAVLC parsing stage and I am looking for some short clips for debugging. I have used a few HD clips from Apple's QuickTime page, and Adobe's "Backcountry Bombshells" test clip. However, the HD clips on Elecard's and Nero's sites are in CABAC. I have no desire to implement CABAC. So I hope I could get pointers to some clips which you know are syntactically correct to debug more thoroughly.
I am looking for clips with the following limitations:
a) NO CABAC!!! (CAVLC only, i.e. entropy_coding_mode_flag = 0)
b) Main and High Profiles only (profile_idc = 77, 100, 110, 122, or 144)
c) Maximum resolution 1920 pixels wide by 1080 pixels tall.
The next 4 are implied by the profile choices:
d) qpprime_y_zero_transform_bypass_flag = 0
e) num_slice_groups_minus1 = 0
f) redundant_pic_cnt_present_flag = 0
g) No SI or SP slices
h) Finally, it must be playable by Haali Splitter + FFDShow.
The way I do debugging is to insert my filter between Haali Splitter and FFDShow. Right now my fitler passes everything transparently downstream to FFDShow after it runs through the parsing code. The code detects an error if it reads an illegal value for a syntax element, or if it overshoots the end of a NAL. If this happens (at a breakpoint), it will dump the problematic NAL to a file and re-parse the NAL (inside the debugger). At that time, I will fire up another debugger with a modifed JM build to read in that NAL and compare the two (e.g. where they stop after which macroblock address).
Clips produced by x264 or other heavily used encoders would be very welcome, as long as you are confident that they are syntactically correct, so that problems I find with them will be in my code. Also interesting are the higher chroma formats (e.g. 4:2:2) and PAFF and MBAFF. The finished filter may not support all these features, but the CAVLC parser should be able to parse them.
Thanks for your help! I look forward to learning more about AVC decompression.
I want to try my hand at writing an AVC decoder DirectShow filter for viewing high resolution content. I have finished the CAVLC parsing stage and I am looking for some short clips for debugging. I have used a few HD clips from Apple's QuickTime page, and Adobe's "Backcountry Bombshells" test clip. However, the HD clips on Elecard's and Nero's sites are in CABAC. I have no desire to implement CABAC. So I hope I could get pointers to some clips which you know are syntactically correct to debug more thoroughly.
I am looking for clips with the following limitations:
a) NO CABAC!!! (CAVLC only, i.e. entropy_coding_mode_flag = 0)
b) Main and High Profiles only (profile_idc = 77, 100, 110, 122, or 144)
c) Maximum resolution 1920 pixels wide by 1080 pixels tall.
The next 4 are implied by the profile choices:
d) qpprime_y_zero_transform_bypass_flag = 0
e) num_slice_groups_minus1 = 0
f) redundant_pic_cnt_present_flag = 0
g) No SI or SP slices
h) Finally, it must be playable by Haali Splitter + FFDShow.
The way I do debugging is to insert my filter between Haali Splitter and FFDShow. Right now my fitler passes everything transparently downstream to FFDShow after it runs through the parsing code. The code detects an error if it reads an illegal value for a syntax element, or if it overshoots the end of a NAL. If this happens (at a breakpoint), it will dump the problematic NAL to a file and re-parse the NAL (inside the debugger). At that time, I will fire up another debugger with a modifed JM build to read in that NAL and compare the two (e.g. where they stop after which macroblock address).
Clips produced by x264 or other heavily used encoders would be very welcome, as long as you are confident that they are syntactically correct, so that problems I find with them will be in my code. Also interesting are the higher chroma formats (e.g. 4:2:2) and PAFF and MBAFF. The finished filter may not support all these features, but the CAVLC parser should be able to parse them.
Thanks for your help! I look forward to learning more about AVC decompression.