Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksoid <aleksoid@users.sourceforge.net>2012-02-01 15:08:46 +0400
committerAleksoid <aleksoid@users.sourceforge.net>2012-02-01 15:08:46 +0400
commit3495a9a7e44de17ecfc476c954bc79edcf5ff639 (patch)
tree36e01be2fce1df8ac2a95f60115b36775c2b4a95 /src/filters/parser/MP4Splitter/MP4Splitter.cpp
parent56a7c8b5bfd2cef010fa3f46c24db4e600531f97 (diff)
Add : MP4/MOV Splitter - add support JPEG codec(TypeId = 6C);
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4027 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/parser/MP4Splitter/MP4Splitter.cpp')
-rw-r--r--src/filters/parser/MP4Splitter/MP4Splitter.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/filters/parser/MP4Splitter/MP4Splitter.cpp b/src/filters/parser/MP4Splitter/MP4Splitter.cpp
index 763a362b9..f88de531b 100644
--- a/src/filters/parser/MP4Splitter/MP4Splitter.cpp
+++ b/src/filters/parser/MP4Splitter/MP4Splitter.cpp
@@ -302,6 +302,26 @@ HRESULT CMP4SplitterFilter::CreateOutputs(IAsyncReader* pAsyncReader)
b_HasVideo = true;
}
break;
+ case AP4_JPEG_OTI:
+ mt.subtype = FOURCCMap('gepj');
+ mt.formattype = FORMAT_MPEG2Video;
+ {
+ MPEG2VIDEOINFO* vih = (MPEG2VIDEOINFO*)mt.AllocFormatBuffer(FIELD_OFFSET(MPEG2VIDEOINFO, dwSequenceHeader) + di->GetDataSize());
+ memset(vih, 0, mt.FormatLength());
+ vih->hdr.bmiHeader.biSize = sizeof(vih->hdr.bmiHeader);
+ vih->hdr.bmiHeader.biWidth = biWidth;
+ vih->hdr.bmiHeader.biHeight = biHeight;
+ vih->hdr.bmiHeader.biCompression = 'gepj';
+ vih->hdr.bmiHeader.biPlanes = 1;
+ vih->hdr.bmiHeader.biBitCount = 24;
+ vih->hdr.dwPictAspectRatioX = vih->hdr.bmiHeader.biWidth;
+ vih->hdr.dwPictAspectRatioY = vih->hdr.bmiHeader.biHeight;
+ vih->cbSequenceHeader = di->GetDataSize();
+ memcpy(vih->dwSequenceHeader, di->GetData(), di->GetDataSize());
+ mts.Add(mt);
+ b_HasVideo = true;
+ }
+ break;
case AP4_MPEG2_VISUAL_SIMPLE_OTI:
case AP4_MPEG2_VISUAL_MAIN_OTI:
case AP4_MPEG2_VISUAL_SNR_OTI: