Clean start for edge264_common.h with ideas brought from my H.265 decoder.
Bring the latest unstable version of edge264.c before updating it.
Rewrite Edge264_parse_NAL().
Nothing will compile until edge264.c is fully complete.
Update parsers for seq_parameter_set_rbsp(), vui_parameters(), hrd_parameters() and pic_parameter_set_rbsp().
FMO unsupported since pretty ill-designed.
Update parse_scaling_lists().
Took a WHILE to find a simple memory layout for the DPB and reference lists.
Parses access_unit_delimiter_rbsp(), end_of_seq_rbsp(), end_of_stream_rbsp(), slice_layer_without_partitioning_rbsp() and ref_pic_list_modification()!
There might still be code from previous layout attempts to update.
Parses pred_weight_table() along with minor bugfixes.
NEW layout for the DPB, which I am now pretty happy with.
Stub for parse_dec_ref_pic_marking().
Adaptive memory control now complete!
Add support for non-existing/grey pictures in parse_ref_pic_list_modification(), I strived like hell to make it compact.
Allright, yet another DPB layout, to eliminate the redundancy of bottom_field_flag.
Dropped support for slices, they are INCOMPATIBLE with a simple pull API.
New stripped memory layout indeed :)
Perfecting the creation of non-existing reference pictures.
It compiles and runs! SPS and PPS are parsed fine so far, slices need some more debugging.
Slice header parsing now works for both progressive and interlaced content :)
Update of the CABAC functions.
Calculated and updated the safety zone size.
Took another WHILE to complete CABAC_parse_slice_data (with Mbaff).
The challenge now is to call each function exactly once, such that inlining will keep s at a fixed stack position.
fun fun fun :)