Results 1 to 5 of 5

Thread: list of different jpeg encoders?

  1. #1
    Member
    Join Date
    Jun 2013
    Location
    USA
    Posts
    98
    Thanks
    4
    Thanked 14 Times in 12 Posts

    list of different jpeg encoders?

    For fun I decided to look at YouTube's thumbnails to see if I could extract useful information out of them and I've come to an interesting find: YouTube does not use libjpeg to encode the images.

    The way I determined this was by using jpegtran -optimize on the image and finding that jpegtran produced a file 4 bytes larger. also, a diff of the bytes shows differences all over the place.

    Anyone know of any jpeg encoders besides libjpeg(-turbo)?

  2. #2
    Member caveman's Avatar
    Join Date
    Jul 2009
    Location
    Strasbourg, France
    Posts
    190
    Thanks
    8
    Thanked 62 Times in 33 Posts
    Quote Originally Posted by Mangix View Post
    The way I determined this was by using jpegtran -optimize on the image and finding that jpegtran produced a file 4 bytes larger. also, a diff of the bytes shows differences all over the place.
    Did you try on many different files? There's a relatively easy way to save a few bytes on files produced by jpegtran: merge successive DHT and DQT in a single marker, unfortunatelly I had no time to take a look at the source to check if I could write a patch to do this.

    Thomas Richter answered that his own libjpeg did it:
    https://github.com/thorfdbg/libjpeg/

  3. #3
    Member
    Join Date
    Jun 2013
    Location
    USA
    Posts
    98
    Thanks
    4
    Thanked 14 Times in 12 Posts
    The only problem is that the difs are not few. They are quite large:

    https://dl.dropboxusercontent.com/u/...983/jpeg/1.png

    and oddly enough, there are similarities. Here are the raw files:

    https://dl.dropboxusercontent.com/u/.../mqdefault.jpg
    https://dl.dropboxusercontent.com/u/...983/jpeg/1.jpg

    in this example, it's jpegtran which produces the smaller file which is weird to me.

    Note: both files do not contain a JFIF header. I used jscl /J to remove it from the youtube image. I am also using a modified jpegtran that does not write a JFIF header. Same thing as jscl /J.

    edit: I should mention. All of the images that I tried show the same patterns.
    Last edited by Mangix; 19th October 2013 at 06:20.

  4. #4
    Member
    Join Date
    Jun 2013
    Location
    USA
    Posts
    98
    Thanks
    4
    Thanked 14 Times in 12 Posts
    Interesting...I encoded a ppm file using Thomas Richter's libjpeg and found the same patterns. File size is slightly bigger again. Looks like this answers my question.

  5. #5
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by Mangix View Post
    Anyone know of any jpeg encoders besides libjpeg(-turbo)?
    Many! Though most of them run on embedded controllers in cameras or in display devices (TVs, digital picture frames...). Thus, in general, all you have is T.81/10918-1 plus a couple of additional add-ons (IPTC, EXIF, JFIF aka 10918-6). IJG is only very popular for software implementations, but counting the total number of installations that's probably not too much.

Similar Threads

  1. Replies: 9
    Last Post: 11th June 2015, 23:28
  2. Unoptimizing? a JPEG file
    By Mangix in forum Data Compression
    Replies: 7
    Last Post: 7th September 2013, 11:55
  3. Quo Vadis JPEG - Another update (3)
    By thorfdbg in forum Data Compression
    Replies: 28
    Last Post: 7th January 2013, 18:02
  4. Quo Vadis JPEG - Another update (2)
    By thorfdbg in forum Data Compression
    Replies: 17
    Last Post: 28th September 2012, 21:10
  5. Quo Vadis JPEG - Another update
    By thorfdbg in forum Data Compression
    Replies: 7
    Last Post: 11th September 2012, 20:09

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •