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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
Notes
-----
Friday, 19 February
is it possible to read in the files in the order in which we'll
output them: ipbbbb, pbbb, etc.
(this uses less memory)
but might files be given sequentially, rather than in a name
list? (do we have random access guaranteed?)
...
need to DECODE I-frame so can get true motion vectors, right?
should separate I-frame macroblock into procedure, since it
can be used in P-frame generation
Monday, 22 February
motion vectors: forward_f code is passed to genMBHead, but not
written there -- it's written in genPictHead. Have to fix this!
fixed the motion vectors by working backwards from decoding
Wednesday, 24 February
DCT: can't just use y_blocks because in I-frames, this has been
DCT'd.
DCT: is it set up just to work with positive numbers?!?!?!
if so, have trouble doing DCT for diffs
(SEE PAGE D-38!!!)
Wednesday, 3 March
headers.c: why is vbv_delay a 32-bit integer, when only 16 bits
are used?
COMPRESSION: I-frames give a 12-to-1 compression rate for wally
ComputeDiff: need to make it work with non-integers!!!!
Thursday, 4 March
change program to allow input to be bunch of rgb frames
prev motion vectors reset when: SliceHeader
when no forward motion vector
when block is skipped
beginning of new frame
Wednesday, 10 March
should the program have any say in which frames should be I, B, P?
dependencies:
when get an I frame, can output the I frame, output all
previous B frames, delete the previous reference frame, and
save the I frame
when get a P frame, can output the P frame, then output all
previous B frames, delete the previous reference frame, and
save the P frame
when get a B frame, just save it (have to wait for future
reference frame)
so, need a linked list of B-frames, and a previousRefFrame, and a
currentFrame
Monday, 15 March
assuming that skipped macroblocks at end of slice don't need some
end macroblock to be sent.
I: 12:1 compression...P: 24:1 compression...B: 0:1 compression
Elapsed times (s): 104.5 user, 1.5 system, 106.0 total
PROCESSED: 191197 Bits per second
I Frames: 669621 BPS....P Frames: 102940 BPS....B Frames: 0 BPS
Monday, 22 March
Something slightly wrong with DCT coefficients -- getting blue
stuff in flower garden
Are the DC predicted values reset to 128 on skipped macroblocks?
Yes, they are!
Tuesday, 23 March
skipped macroblocks have different meanings in B and P frames
Monday, 5 April
Change q-scale for I-blocks inside of P-frames???
Monday, 19 April
Does last block have to be transmitted (not skipped) for others to
be processed???
Tuesday -- Yes!
Friday, 23 April
Need to take care of Forced Updating (page 46 of MPEG-1 doc)
DO THIS: Make program SORT input file names, if
numeric
Wednesday, 28 April
DO THIS: Have option to take gif files and calls giftoppm
appropriately
Wednesday, 2 June
motion vector for chrominance is HALF normal motion!!!
Friday, 18 June
ComputeSubSampled... is 0.03 ms per call, whereas ComputeMotionLum...
is 0.06 per call. Should be 1/4, only 1/2. See if you can do
somethinga about this
When dividing by 2, they usually mean // (where 0.5 becomes 1)
So notice the calculation of half-pixel motion and of B-frame motion
Tuesday, 13 July
GOING TO ASSUME, for now, that all I, P frames need to be decoded
if referenceType == DECODED_FRAME (not true, but a safe bet)
Thursday, 22 July
Endianness:
Big Little
--- ------
Sun, HP DEC
NEXT RELEASE: DELETE ALL makedepend STUFF from MAKEFILE
|