applyFilter error with jpg

If I use a png ([Embed(source = “…/lib/img.png”)]) this works.
But if I use a jpg the code below fails.
Same image same size (200,200) just exported from photoshop as jpg or png

Why?

Error when using jpg
Error: Error #2077: This filter operation cannot be performed with the specified input parameters.
at flash.display::BitmapData/applyFilter()


package 
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.filters.GlowFilter;
    import flash.geom.Point;


    public class Main extends Sprite 
    {
        [Embed(source = "../lib/img.jpg")] 
        public var mainImage:Class;
        
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
            
            var bm:Bitmap = new mainImage()
            var bmd : BitmapData = bm.bitmapData
            bmd.draw(bm);
            bmd.applyFilter(bmd, bmd.rect, new Point(0, 0), new GlowFilter(0xFF0000, 10, 10, 10, 2, 1, true));
            addChild(bm);
        }
    }
}