This repository has been archived by the owner on Apr 23, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO-AVC.txt
86 lines (55 loc) · 3.32 KB
/
TODO-AVC.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
AVC feature TODO
----------------
(list is in no particular order)
1) Add levels of parsing complexity to AVCEssenceParser to avoid unnecessary work
for some applications, e.g. AVC-Intra
2) Use the parsed NAL units from AVCEssenceParser::ParseFrameSize in
AVCEssenceParser::ParseFrameInfo, avoiding doing it twice
3) Support separate field encoded bitstreams where 2 (or 1 for single fields)
need to combined together into a single frame
4) Support non-I / IDR based "key frame encodings", e.g. intra-refresh
5) Extract field order information for Field Dominance descriptor property.
Could possibly IsBottomField be used for field encoded, but what about frame
encoded for example
6) Extract references and is-referenced information for the index entry flags and
to reduce the key frame offset when a B-frame only uses backward prediction
before the I-frame. Also helps determine whether the GOP is open or closed.
7) Warn / workaround / do nothing when the frame_num jumps or missing frames are
detected
8) Check whether slices that refer to different SPS/PPS is possible and needs to
be supported. The effects whether there are multiple active SPS/PPS in a frame
9) Rename AVC/AVCI classes to help readability, e.g. call AVCI RP2027
10) Identify more bitstream fields that have a defined min/max, avoiding use of
generic int64_t/uint64_t and type casts
11) Rename/add new color primary, coding equation and transfer characteristic
labels to match the SMPTE metadata registry
12) Check whether some of the detailed AVC features need to be supported such as
no_output_of_prior_pics_flag
13) Add regression tests for a wider range of AVC bitstream types
14) Analyse POC decoding / temporal offset extraction to see if it can be
optimised and/or simplified
15) Set descriptor properties when starting the file to that they are valid and
available to readers whilst the file is growing
16) Add option to strip trailing zeros / padding from the input bitstream
17) Check whether bitstreams that don't have a SPS/PPS for the first frame could
or should be supported
18) Add option to set Frame Layout in descriptor if the coding parameters don't
provide a conclusive answer. Check to see if a SEI message could provide an
answer.
19) Add commandline options / writer parameters to set the signal standard or
something equivalent to set descriptor properties that cannot or only sometimes
be extracted from the AVC bitstream parameters
20) Add commandline options / writer parameters to set descriptor properties that
cannnot or only sometimes be extracted from the AVC bitstream parameters
21) Try work out which HRD bitrate is intended to go into the AVC descriptor
22) Decide whether to calculate the average bit rate for the AVC descriptor
23) Check whether Display/StoredF2Offset information can be extracted from the
AVC bitstream
24) Set BlackRefLevel, WhiteRefLevel and ColorRange descriptor properties. Use
the full range flag and work out when or if to ignore it because of known
issues.
25) Add option to treat RP2027 / AVC-Intra as regular AVC
26) Add option to use the AVC sub-descriptor for RP2027
27) Merge the AVCI and AVC descriptor and writer helpers where possible
28) Make use of SEI messages if they provide missing information
29) Extend bmxparse with more AVC properties if useful