Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1007)

Unified Diff: media/filters/jpeg_parser.h

Issue 1291933002: File video capture device supports MJPEG format (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix windows compile error Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/capture/video/file_video_capture_device_factory.cc ('k') | media/filters/jpeg_parser.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/jpeg_parser.h
diff --git a/media/filters/jpeg_parser.h b/media/filters/jpeg_parser.h
index fa13dd764303a6caa781065dc4d49e837ac520c8..0d9e17fa544e9bc2fe3a90de13560afe46f44a03 100644
--- a/media/filters/jpeg_parser.h
+++ b/media/filters/jpeg_parser.h
@@ -11,11 +11,17 @@
namespace media {
+// It's not a full featured JPEG parser implememtation. It only parses JPEG
+// baseline sequential process. For explanations of each struct and its
+// members, see JPEG specification at
+// http://www.w3.org/Graphics/JPEG/itu-t81.pdf.
+
enum JpegMarker {
JPEG_SOF0 = 0xC0, // start of frame (baseline)
JPEG_SOF1 = 0xC1, // start of frame (extended sequential)
JPEG_SOF2 = 0xC2, // start of frame (progressive)
JPEG_SOF3 = 0xC3, // start of frame (lossless))
+ JPEG_DHT = 0xC4, // define huffman table
JPEG_SOF5 = 0xC5, // start of frame (differential, sequential)
JPEG_SOF6 = 0xC6, // start of frame (differential, progressive)
JPEG_SOF7 = 0xC7, // start of frame (differential, lossless)
@@ -25,8 +31,16 @@ enum JpegMarker {
JPEG_SOF13 = 0xCD, // start of frame (differential, arithmetic, sequential)
JPEG_SOF14 = 0xCE, // start of frame (differential, arithmetic, progressive)
JPEG_SOF15 = 0xCF, // start of frame (differential, arithmetic, lossless)
- JPEG_DHT = 0xC4, // define huffman table
+ JPEG_RST0 = 0xD0, // restart
+ JPEG_RST1 = 0xD1, // restart
+ JPEG_RST2 = 0xD2, // restart
+ JPEG_RST3 = 0xD3, // restart
+ JPEG_RST4 = 0xD4, // restart
+ JPEG_RST5 = 0xD5, // restart
+ JPEG_RST6 = 0xD6, // restart
+ JPEG_RST7 = 0xD7, // restart
JPEG_SOI = 0xD8, // start of image
+ JPEG_EOI = 0xD9, // end of image
JPEG_SOS = 0xDA, // start of scan
JPEG_DQT = 0xDB, // define quantization table
JPEG_DRI = 0xDD, // define restart internal
@@ -86,20 +100,26 @@ struct JpegParseResult {
uint16_t restart_interval;
JpegScanHeader scan;
const char* data;
+ // The size of compressed data of the first image.
size_t data_size;
+ // The size of the first entire image including header.
+ size_t image_size;
};
// Parses JPEG picture in |buffer| with |length|. Returns true iff header is
// valid and JPEG baseline sequential process is present. If parsed
// successfully, |result| is the parsed result.
-// It's not a full featured JPEG parser implememtation. It only parses JPEG
-// baseline sequential process. For explanations of each struct and its
-// members, see JPEG specification at
-// http://www.w3.org/Graphics/JPEG/itu-t81.pdf.
MEDIA_EXPORT bool ParseJpegPicture(const uint8_t* buffer,
size_t length,
JpegParseResult* result);
+// Parses the first image of JPEG stream in |buffer| with |length|. Returns
+// true iff header is valid and JPEG baseline sequential process is present.
+// If parsed successfully, |result| is the parsed result.
+MEDIA_EXPORT bool ParseJpegStream(const uint8_t* buffer,
+ size_t length,
+ JpegParseResult* result);
+
} // namespace media
#endif // MEDIA_FILTERS_JPEG_PARSER_H_
« no previous file with comments | « media/capture/video/file_video_capture_device_factory.cc ('k') | media/filters/jpeg_parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698