mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-12 19:18:44 +02:00
19ce064239
SMVJPEG stores frames as slices of a big JPEG image. The decoder is implemented as a wrapper that instantiates a full internal MJPEG decoder, then forwards the decoded frames with offset data pointers. This is unnecessarily complex and fragile, not supporting useful decoder capabilities like direct rendering. Re-implement the decoder inside the MJPEG decoder, which is accomplished by returning each decoded frame multiple times, setting cropping information appropriately on each instance. One peculiar aspect of the previous design is that since - the smvjpeg decoder returns one frame per input packet - there are multiple frames in each packets (the aformentioned slices) the demuxer needs to return each packet multiple times. This is now also eliminated - the demuxer now returns each packet exactly once, with the duration set to the number of frames it decodes to. This also removes one of the last remaining internal uses of the old video decoding API.
18 lines
787 B
Plaintext
18 lines
787 B
Plaintext
#tb 0: 1/1
|
|
#media_type 0: video
|
|
#codec_id 0: rawvideo
|
|
#dimensions 0: 128x160
|
|
#sar 0: 72/72
|
|
0, 0, 0, 1, 30720, 0x3a821807
|
|
0, 1, 1, 1, 30720, 0x95168e5d
|
|
0, 2, 2, 1, 30720, 0xd4d98e45
|
|
0, 3, 3, 1, 30720, 0xe340a7ea
|
|
0, 4, 4, 1, 30720, 0xb832a22d
|
|
0, 5, 5, 1, 30720, 0x1f3eb488
|
|
0, 6, 6, 1, 30720, 0x6429ce43
|
|
0, 7, 7, 1, 30720, 0x3a3da232
|
|
0, 8, 8, 1, 30720, 0x5c02aeff
|
|
0, 9, 9, 1, 30720, 0x4c7b1c9a
|
|
0, 10, 10, 1, 30720, 0x6f7a8313
|
|
0, 11, 11, 1, 30720, 0xaa32fd72
|