From 78d2a781d092c4b678e06de147a666ad65e184de Mon Sep 17 00:00:00 2001 From: Thilo Borgmann Date: Tue, 20 Aug 2013 15:53:42 +0200 Subject: [PATCH] fate: Add EXIF test. --- tests/Makefile | 1 + tests/fate-run.sh | 4 + tests/fate/exif.mak | 14 ++ tests/ref/fate/exif-image-embedded | 360 +++++++++++++++++++++++++++++ tests/ref/fate/exif-image-jpg | 66 ++++++ tests/ref/fate/exif-image-tiff | 25 ++ 6 files changed, 470 insertions(+) create mode 100644 tests/fate/exif.mak create mode 100644 tests/ref/fate/exif-image-embedded create mode 100644 tests/ref/fate/exif-image-jpg create mode 100644 tests/ref/fate/exif-image-tiff diff --git a/tests/Makefile b/tests/Makefile index 914448e32a..61423f4796 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -93,6 +93,7 @@ include $(SRC_PATH)/tests/fate/demux.mak include $(SRC_PATH)/tests/fate/dfa.mak include $(SRC_PATH)/tests/fate/dpcm.mak include $(SRC_PATH)/tests/fate/ea.mak +include $(SRC_PATH)/tests/fate/exif.mak include $(SRC_PATH)/tests/fate/ffmpeg.mak include $(SRC_PATH)/tests/fate/ffprobe.mak include $(SRC_PATH)/tests/fate/filter-audio.mak diff --git a/tests/fate-run.sh b/tests/fate-run.sh index 9f5690d7be..52ddc22300 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -75,6 +75,10 @@ probefmt(){ run ffprobe -show_entries format=format_name -print_format default=nw=1:nk=1 -v 0 "$@" } +probeframes(){ + run ffprobe -show_frames -v 0 "$@" +} + ffmpeg(){ dec_opts="-threads $threads -thread_type $thread_type" ffmpeg_args="-nostats -cpuflags $cpuflags" diff --git a/tests/fate/exif.mak b/tests/fate/exif.mak new file mode 100644 index 0000000000..3953b62b95 --- /dev/null +++ b/tests/fate/exif.mak @@ -0,0 +1,14 @@ +# test exif metadata in TIFF images +FATE_SAMPLES_EXIF-$(call DEMDEC, IMAGE2, TIFF) += fate-exif-image-tiff +fate-exif-image-tiff: CMD = probeframes $(TARGET_SAMPLES)/exif/image_small.tiff + +# test exif metadata in JPG images +FATE_SAMPLES_EXIF-$(call DEMDEC, IMAGE2, MJPEG) += fate-exif-image-jpg +fate-exif-image-jpg: CMD = probeframes $(TARGET_SAMPLES)/exif/image_small.jpg + +# test exif metadata in MP3 with embedded JPEG images +FATE_SAMPLES_EXIF-$(call ALLYES, MP3_DEMUXER IMAGE2_DEMUXER MJPEG_DECODER) += fate-exif-image-embedded +fate-exif-image-embedded: CMD = probeframes $(TARGET_SAMPLES)/exif/embedded_small.mp3 + +# add all -yes targets to the tested targets +FATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_EXIF-yes) diff --git a/tests/ref/fate/exif-image-embedded b/tests/ref/fate/exif-image-embedded new file mode 100644 index 0000000000..4109c15a0b --- /dev/null +++ b/tests/ref/fate/exif-image-embedded @@ -0,0 +1,360 @@ +[FRAME] +media_type=video +key_frame=1 +pkt_pts=N/A +pkt_pts_time=N/A +pkt_dts=N/A +pkt_dts_time=N/A +pkt_duration=N/A +pkt_duration_time=N/A +pkt_pos=N/A +pkt_size=15760 +width=263 +height=263 +pix_fmt=yuvj420p +sample_aspect_ratio=1:1 +pict_type=I +coded_picture_number=0 +display_picture_number=0 +interlaced_frame=0 +top_field_first=0 +repeat_pict=0 +TAG:UserComment=AppleMark + +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=353600 +pkt_pts_time=0.025057 +pkt_dts=353600 +pkt_dts_time=0.025057 +pkt_duration=15040 +pkt_duration_time=0.001066 +pkt_pos=16292 +pkt_size=417 +sample_fmt=s16p +nb_samples=47 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=368640 +pkt_pts_time=0.026122 +pkt_dts=368640 +pkt_dts_time=0.026122 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=16709 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=737280 +pkt_pts_time=0.052245 +pkt_dts=737280 +pkt_dts_time=0.052245 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=17127 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=1105920 +pkt_pts_time=0.078367 +pkt_dts=1105920 +pkt_dts_time=0.078367 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=17545 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=1474560 +pkt_pts_time=0.104490 +pkt_dts=1474560 +pkt_dts_time=0.104490 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=17963 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=1843200 +pkt_pts_time=0.130612 +pkt_dts=1843200 +pkt_dts_time=0.130612 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=18381 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=2211840 +pkt_pts_time=0.156735 +pkt_dts=2211840 +pkt_dts_time=0.156735 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=18799 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=2580480 +pkt_pts_time=0.182857 +pkt_dts=2580480 +pkt_dts_time=0.182857 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=19217 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=2949120 +pkt_pts_time=0.208980 +pkt_dts=2949120 +pkt_dts_time=0.208980 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=19635 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=3317760 +pkt_pts_time=0.235102 +pkt_dts=3317760 +pkt_dts_time=0.235102 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=20053 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=3686400 +pkt_pts_time=0.261224 +pkt_dts=3686400 +pkt_dts_time=0.261224 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=20471 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=4055040 +pkt_pts_time=0.287347 +pkt_dts=4055040 +pkt_dts_time=0.287347 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=20889 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=4423680 +pkt_pts_time=0.313469 +pkt_dts=4423680 +pkt_dts_time=0.313469 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=21307 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=4792320 +pkt_pts_time=0.339592 +pkt_dts=4792320 +pkt_dts_time=0.339592 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=21725 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=5160960 +pkt_pts_time=0.365714 +pkt_dts=5160960 +pkt_dts_time=0.365714 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=22143 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=5529600 +pkt_pts_time=0.391837 +pkt_dts=5529600 +pkt_dts_time=0.391837 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=22561 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=5898240 +pkt_pts_time=0.417959 +pkt_dts=5898240 +pkt_dts_time=0.417959 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=22979 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=6266880 +pkt_pts_time=0.444082 +pkt_dts=6266880 +pkt_dts_time=0.444082 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=23397 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=6635520 +pkt_pts_time=0.470204 +pkt_dts=6635520 +pkt_dts_time=0.470204 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=23815 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=7004160 +pkt_pts_time=0.496327 +pkt_dts=7004160 +pkt_dts_time=0.496327 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=24233 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] +[FRAME] +media_type=audio +key_frame=1 +pkt_pts=7372800 +pkt_pts_time=0.522449 +pkt_dts=7372800 +pkt_dts_time=0.522449 +pkt_duration=368640 +pkt_duration_time=0.026122 +pkt_pos=24651 +pkt_size=418 +sample_fmt=s16p +nb_samples=1152 +channels=2 +channel_layout=stereo +[/FRAME] diff --git a/tests/ref/fate/exif-image-jpg b/tests/ref/fate/exif-image-jpg new file mode 100644 index 0000000000..a634a87c55 --- /dev/null +++ b/tests/ref/fate/exif-image-jpg @@ -0,0 +1,66 @@ +[FRAME] +media_type=video +key_frame=1 +pkt_pts=0 +pkt_pts_time=0.000000 +pkt_dts=0 +pkt_dts_time=0.000000 +pkt_duration=1 +pkt_duration_time=0.040000 +pkt_pos=N/A +pkt_size=46095 +width=400 +height=225 +pix_fmt=yuvj422p +sample_aspect_ratio=1:1 +pict_type=I +coded_picture_number=0 +display_picture_number=0 +interlaced_frame=0 +top_field_first=0 +repeat_pict=0 +TAG:ImageDescription= +TAG:Make=Canon +TAG:Model=Canon PowerShot SX200 IS +TAG:Orientation=1 +TAG:XResolution=180:1 +TAG:YResolution=180:1 +TAG:ResolutionUnit=2 +TAG:DateTime=2013:07:18 13:12:03 +TAG:YCbCrPositioning=2 +TAG:ExposureTime=1:1250 +TAG:FNumber=40:10 +TAG:ISOSpeedRatings=160 +TAG:ExifVersion=0221 +TAG:DateTimeOriginal=2013:07:18 13:12:03 +TAG:DateTimeDigitized=2013:07:18 13:12:03 +TAG:ComponentsConfiguration= +TAG:CompressedBitsPerPixel=3:1 +TAG:ShutterSpeedValue=329:32 +TAG:ApertureValue=128:32 +TAG:ExposureBiasValue=0:3 +TAG:MaxApertureValue=113:32 +TAG:MeteringMode=5 +TAG:Flash=16 +TAG:FocalLength=5000:1000 +TAG:MakerNote= +TAG:UserComment= +TAG:FlashpixVersion=0100 +TAG:ColorSpace=1 +TAG:PixelXDimension=4000 +TAG:PixelYDimension=2248 +TAG:GPSLatitudeRef=R98 +TAG:GPSLatitude=0100 +TAG:0x1001=4000 +TAG:0x1002=2248 +TAG:FocalPlaneXResolution=4000000:244 +TAG:FocalPlaneYResolution=2248000:183 +TAG:FocalPlaneResolutionUnit=2 +TAG:SensingMethod=2 +TAG:FileSource= +TAG:CustomRendered=0 +TAG:ExposureMode=0 +TAG:WhiteBalance=0 +TAG:DigitalZoomRatio=4000:4000 +TAG:SceneCaptureType=0 +[/FRAME] diff --git a/tests/ref/fate/exif-image-tiff b/tests/ref/fate/exif-image-tiff new file mode 100644 index 0000000000..ddd85e5152 --- /dev/null +++ b/tests/ref/fate/exif-image-tiff @@ -0,0 +1,25 @@ +[FRAME] +media_type=video +key_frame=1 +pkt_pts=0 +pkt_pts_time=0.000000 +pkt_dts=0 +pkt_dts_time=0.000000 +pkt_duration=1 +pkt_duration_time=0.040000 +pkt_pos=N/A +pkt_size=67604 +width=200 +height=112 +pix_fmt=rgb24 +sample_aspect_ratio=N/A +pict_type=? +coded_picture_number=0 +display_picture_number=0 +interlaced_frame=0 +top_field_first=0 +repeat_pict=0 +TAG:document_name=image_small.tiff +TAG:page_number=0 / 1 +TAG:software=ImageMagick 6.5.8-0 2010-02-09 Q16 http://www.imagemagick.org +[/FRAME]